From 7f7e558a65a0521716b30004b9b0bba41267caa0 Mon Sep 17 00:00:00 2001 From: almossawi Date: Thu, 22 Oct 2015 09:49:40 -0700 Subject: [PATCH] Fix issue #299 --- dist/metricsgraphics.js | 4 +- dist/metricsgraphics.min.js | 4 +- examples/charts/annotations.htm | 66 ++++++++++++++++++++++++++++++++- src/js/common/markers.js | 4 +- 4 files changed, 69 insertions(+), 9 deletions(-) diff --git a/dist/metricsgraphics.js b/dist/metricsgraphics.js index 1d05d37be1..3a6701d8ad 100644 --- a/dist/metricsgraphics.js +++ b/dist/metricsgraphics.js @@ -2099,9 +2099,7 @@ function markers(args) { if(d.click) { d3.select(this) .style('cursor', 'pointer') - .on('click', function(d) { - d.click(); - }); + .on('click', d.click); } }); diff --git a/dist/metricsgraphics.min.js b/dist/metricsgraphics.min.js index 03f482f6db..87afe06e6c 100644 --- a/dist/metricsgraphics.min.js +++ b/dist/metricsgraphics.min.js @@ -1,3 +1,3 @@ -!function(t,e){"function"==typeof define&&define.amd?define(["d3","jquery"],e):"object"==typeof exports?module.exports=e(require("d3"),require("jquery")):t.MG=e(t.d3,t.jQuery)}(this,function(t,e){function r(t,e,r){MG.charts[t]={descriptor:e,defaults:r||{}}}function a(t){"use strict";var r=et(t.target);if(r.select(".mg-header").remove(),t.target&&t.title){var a=r.insert("text").attr("class","mg-header").attr("x",(t.width+t.left-t.right)/2).attr("y",t.title_y_position).attr("text-anchor","middle").attr("dy","0.55em");if(a.append("tspan").attr("class","mg-chart-title").text(t.title),t.show_tooltips&&t.description){a.append("tspan").attr("class","mg-chart-description").attr("dx","0.3em").text("");var n=e(a.node());n.popover({html:!0,animation:!1,placement:"top",content:t.description,container:t.target,trigger:"manual",template:'

'}).on("mouseenter",function(){e(this).popover("show"),e(t.target).select(".popover").on("mouseleave",function(){n.popover("hide")})}).on("mouseleave",function(){setTimeout(function(){e(".popover:hover").length||n.popover("hide")},120)})}}t.error&&ht(t)}function n(t){"use strict";for(var e=et(t.target),r="point"===t.chart_type?t.buffer/2:2*t.buffer/3,a=[],n=0;n0},u=function(t){return t[e.y_accessor]},d=0;d0){var p=t.extent(f,u);l?(o=Math.min(p[0],o),s=Math.max(p[1],s)):(o=p[0],s=p[1],l=!0)}}o>=0&&!e.min_y&&!e.min_y_from_data&&(o=0),"bar"===e.chart_type&&(o=0,s=t.max(e.data[0],function(t){var r=[];return r.push(t[e.y_accessor]),null!==e.baseline_accessor&&r.push(t[e.baseline_accessor]),null!==e.predictor_accessor&&r.push(t[e.predictor_accessor]),Math.max.apply(null,r)})),o=null!==e.min_y?e.min_y:o,s=null!==e.max_y?e.max_y:0>s?s+(s-s*e.inflator):s*e.inflator,"log"!==e.y_scale_type&&0>o&&(o-=o-o*e.inflator),!e.min_y&&e.min_y_from_data&&(o/=e.inflator),e.processed.min_y=o,e.processed.max_y=s,MG.call_hook("y_axis.process_min_max",e,o,s),o=e.processed.min_y,s=e.processed.max_y,"log"===e.y_scale_type?("histogram"===e.chart_type?o=.2:0>=o&&(o=1),e.scales.Y=t.scale.log().domain([o,s]).range([e.height-e.bottom-e.buffer,e.top]).clamp(!0)):e.scales.Y=t.scale.linear().domain([o,s]).range([e.height-e.bottom-e.buffer,e.top]),e.scales.Y_axis=t.scale.linear().domain([e.processed.min_y,e.processed.max_y]).range([e.height-e.bottom-e.buffer,e.top]);var h=e.yax_format;if(h||("count"===e.format?(1e-4>s?e.decimals=6:.1>s&&(e.decimals=4),h=function(r){if(1>r)return e.yax_units+t.round(r,e.decimals);var a=t.formatPrefix(r);return e.yax_units+a.scale(r)+a.symbol}):h=function(e){var r=t.format("2p");return r(e)}),i.selectAll(".mg-y-axis").remove(),!e.y_axis)return this;a=i.append("g").classed("mg-y-axis",!0).classed("mg-y-axis-small",e.use_small_class),e.y_label&&a.append("text").attr("class","label").attr("x",function(){return-1*(e.top+e.buffer+(e.height-e.bottom-e.buffer-(e.top+e.buffer))/2)}).attr("y",function(){return e.left/2}).attr("dy","0.4em").attr("text-anchor","middle").text(function(t){return e.y_label}).attr("transform",function(t){return"rotate(-90)"});var m=e.scales.Y.ticks(e.yax_count);"log"===e.y_scale_type&&(m=m.filter(function(t){return Math.abs(r(t))%1<1e-6||Math.abs(r(t))%1>1-1e-6}));var _=e.scales.Y.ticks(e.yax_count).length,g=!0;e.data.forEach(function(t,r){t.forEach(function(t,r){return t[e.y_accessor]%1!==0?(g=!1,!1):void 0})}),g&&_>s&&"count"===e.format&&(m=m.filter(function(t){return t%1===0}));var v=m.length;if(!e.x_extended_ticks&&!e.y_extended_ticks&&v){var x,y;e.axes_not_compact&&"bar"!==e.chart_type?(x=e.height-e.bottom,y=e.top):v?(x=e.scales.Y(m[0]).toFixed(2),y=e.scales.Y(m[v-1]).toFixed(2)):(x=0,y=0),a.append("line").attr("x1",e.left).attr("x2",e.left).attr("y1",x).attr("y2",y)}return a.selectAll(".mg-yax-ticks").data(m).enter().append("line").classed("mg-extended-y-ticks",e.y_extended_ticks).attr("x1",e.left).attr("x2",function(){return e.y_extended_ticks?e.width-e.right:e.left-e.yax_tick_length}).attr("y1",function(t){return e.scales.Y(t).toFixed(2)}).attr("y2",function(t){return e.scales.Y(t).toFixed(2)}),a.selectAll(".mg-yax-labels").data(m).enter().append("text").attr("x",e.left-3*e.yax_tick_length/2).attr("dx",-3).attr("y",function(t){return e.scales.Y(t).toFixed(2)}).attr("dy",".35em").attr("text-anchor","end").text(function(t){var e=h(t);return e}),e.y_rug&&n(e),this}function s(e){e.scales.Y=t.scale.ordinal().domain(e.categorical_variables).rangeRoundBands([e.height-e.bottom-e.buffer,e.top],e.padding_percentage,e.outer_padding_percentage),e.scalefns.yf=function(t){return e.scales.Y(t[e.y_accessor])};var r=et(e.target);r.selectAll(".mg-y-axis").remove();var a=r.append("g").classed("mg-y-axis",!0).classed("mg-y-axis-small",e.use_small_class);if(!e.y_axis)return this;var n=a.selectAll("text").data(e.categorical_variables).enter().append("svg:text").attr("x",e.left).attr("y",function(t){return e.scales.Y(t)+e.scales.Y.rangeBand()/2+e.buffer*e.outer_padding_percentage}).attr("dy",".35em").attr("text-anchor","end").text(String);return e.rotate_y_labels&&n.attr({dy:0,transform:function(){var r=t.select(this);return"rotate("+e.rotate_y_labels+" "+r.attr("x")+","+r.attr("y")+")"}}),this}function i(t){"use strict";var e="point"===t.chart_type?t.buffer/2:t.buffer,r=et(t.target),a=rt(t.data),n=r.selectAll("line.mg-x-rug").data(a);n.enter().append("svg:line").attr("class","mg-x-rug").attr("opacity",.3),n.exit().remove(),n.exit().remove(),n.attr("x1",t.scalefns.xf).attr("x2",t.scalefns.xf).attr("y1",t.height-t.bottom-e).attr("y2",t.height-t.bottom),t.color_accessor?(n.attr("stroke",t.scalefns.color),n.classed("mg-x-rug-mono",!1)):(n.attr("stroke",null),n.classed("mg-x-rug-mono",!0))}function l(e){"use strict";var r,a=et(e.target);e.processed||(e.processed={});for(var n=[],o=0;o180?"end":"start",transform:function(){var r=t.select(this);return"rotate("+e.rotate_x_labels+" "+r.attr("x")+","+r.attr("y")+")"}}),this}function u(e){var r,a,n,o;null!==e.color_accessor&&(null===e.color_domain?"number"===e.color_type?(r=t.min(e.data[0],function(t){return t[e.color_accessor]}),a=t.max(e.data[0],function(t){return t[e.color_accessor]}),n=[r,a]):"category"===e.color_type&&(n=t.set(e.data[0].map(function(t){return t[e.color_accessor]})).values(),n.sort()):n=e.color_domain,o=null===e.color_range?"number"===e.color_type?["blue","red"]:null:e.color_range,"number"===e.color_type?e.scales.color=t.scale.linear().domain(n).range(o).clamp(!0):(e.scales.color=null!==e.color_range?t.scale.ordinal().range(o):n.length>10?t.scale.category20():t.scale.category10(),e.scales.color.domain(n)),e.scalefns.color=function(t){return e.scales.color(t[e.color_accessor])})}function d(e){var r,a,n,o;null!==e.size_accessor&&(null===e.size_domain?(r=t.min(e.data[0],function(t){return t[e.size_accessor]}),a=t.max(e.data[0],function(t){return t[e.size_accessor]}),n=[r,a]):n=e.size_domain,o=null===e.size_range?[1,5]:e.size_range,e.scales.size=t.scale.linear().domain(n).range(o).clamp(!0),e.scalefns.size=function(t){return e.scales.size(t[e.size_accessor])})}function f(t,e){t.append("text").attr("class","label").attr("x",function(){return(e.left+e.width-e.right)/2}).attr("y",(e.height-e.bottom/2).toFixed(2)).attr("dy",".50em").attr("text-anchor","middle").text(function(t){return e.x_label})}function p(e){return function(r){if(1>r)return e.xax_units+t.round(r,e.decimals);var a=t.formatPrefix(r);return e.xax_units+a.scale(r)+a.symbol}}function h(t){var e;return e=10>t?"millis":60>t?"seconds":24>=t/3600?"less-than-a-day":96>=t/3600?"four-days":"default"}function m(t,e){return 10>e?main_time_format=MG.time_format(t,"%M:%S.%L"):60>e?main_time_format=MG.time_format(t,"%M:%S"):24>=e/3600?main_time_format=MG.time_format(t,"%H:%M"):96>=e/3600?main_time_format=MG.time_format(t,"%H:%M"):main_time_format=MG.time_format(t,"%b %d"),main_time_format}function _(e){if(e.xax_format)return e.xax_format;var r=e.processed.original_data||e.data,a=rt(r)[0][e.processed.original_x_accessor||e.x_accessor];return function(r){var n,o,s;e.time_series&&(n=(e.processed.max_x-e.processed.min_x)/1e3,s=h(n),o=m(e.utc_time,n)),e.processed.main_x_time_format=o,e.processed.x_time_frame=s;var i=(MG.time_format(e.utc_time,"%b %d"),t.formatPrefix(r));return a instanceof Date?e.processed.main_x_time_format(new Date(r)):"number"==typeof a?1>r?e.xax_units+t.round(r,e.decimals):(i=t.formatPrefix(r),e.xax_units+i.scale(r)+i.symbol):r}}function g(t,e){var r=e.scales.X.ticks(e.xax_count).length-1,a=e.scales.X.ticks(e.xax_count);"bar"===e.chart_type||e.x_extended_ticks||e.y_extended_ticks||t.append("line").attr("x1",function(){return 0===e.xax_count?e.left+e.buffer:e.axes_not_compact&&"bar"!==e.chart_type?e.left:e.scales.X(e.scales.X.ticks(e.xax_count)[0]).toFixed(2)}).attr("x2",function(){return 0===e.xax_count||e.axes_not_compact&&"bar"!==e.chart_type?e.width-e.right-e.buffer:e.scales.X(e.scales.X.ticks(e.xax_count)[r]).toFixed(2)}).attr("y1",e.height-e.bottom).attr("y2",e.height-e.bottom),t.selectAll(".mg-xax-ticks").data(a).enter().append("line").attr("x1",function(t){return e.scales.X(t).toFixed(2)}).attr("x2",function(t){return e.scales.X(t).toFixed(2)}).attr("y1",e.height-e.bottom).attr("y2",function(){return e.x_extended_ticks?e.top:e.height-e.bottom+e.xax_tick_length}).attr("class",function(){return e.x_extended_ticks?"mg-extended-x-ticks":void 0})}function v(e,r){var a=r.scales.X.ticks(r.xax_count),n=e.selectAll(".mg-xax-labels").data(a).enter().append("text").attr("x",function(t){return r.scales.X(t).toFixed(2)}).attr("y",(r.height-r.bottom+7*r.xax_tick_length/3).toFixed(2)).attr("dy",".50em").attr("text-anchor","middle");if(r.time_series&&r.european_clock?(n.append("tspan").classed("mg-european-hours",!0).text(function(e,r){var a=new Date(e);return 0===r?t.time.format("%H")(a):""}),n.append("tspan").classed("mg-european-minutes-seconds",!0).text(function(t,e){var a=new Date(t);return":"+r.processed.xax_format(a)})):n.text(function(t){return r.xax_units+r.processed.xax_format(t)}),r.time_series&&(r.show_years||r.show_secondary_x_label)){var o,s,i=r.processed.x_time_frame;switch(i){case"millis":case"seconds":o=t.time.days,s=r.european_clock?MG.time_format(r.utc_time,"%b %d"):MG.time_format(r.utc_time,"%I %p");break;case"less-than-a-day":o=t.time.days,s=MG.time_format(r.utc_time,"%b %d");break;case"four-days":o=t.time.days,s=MG.time_format(r.utc_time,"%b %d");break;default:o=t.time.years,s=MG.time_format(r.utc_time,"%Y")}var l=o(r.processed.min_x,r.processed.max_x);if(0===l.length){var c=r.scales.X.ticks(r.xax_count)[0];l=[c]}e=e.append("g").classed("mg-year-marker",!0).classed("mg-year-marker-small",r.use_small_class),"default"===i&&r.show_year_markers&&e.selectAll(".mg-year-marker").data(l).enter().append("line").attr("x1",function(t){return r.scales.X(t).toFixed(2)}).attr("x2",function(t){return r.scales.X(t).toFixed(2)}).attr("y1",r.top).attr("y2",r.height-r.bottom),e.selectAll(".mg-year-marker").data(l).enter().append("text").attr("x",function(t,e){return r.scales.X(t).toFixed(2)}).attr("y",(r.height-r.bottom+7*r.xax_tick_length/1.3).toFixed(2)).attr("dy",r.use_small_class?-3:0).attr("text-anchor","middle").text(function(t){return s(new Date(t))})}}function x(e){var r,a,n=[],o=[].concat.apply([],e.data),s=function(t){return t[e.x_accessor]};if("line"===e.chart_type||"point"===e.chart_type||"histogram"===e.chart_type?(n=t.extent(o,s),r=n[0],a=n[1]):"bar"===e.chart_type&&(r=0,a=t.max(o,function(t){var r=[t[e.x_accessor],t[e.baseline_accessor]?t[e.baseline_accessor]:0,t[e.predictor_accessor]?t[e.predictor_accessor]:0];return Math.max.apply(null,r)})),!(r!==a||e.min_x&&e.max_x)){if(r instanceof Date){var i=MG.clone(r).setDate(r.getDate()-1),l=MG.clone(r).setDate(r.getDate()+1);r=i,a=l}else"number"==typeof r?(r-=1,a+=1):"string"==typeof r&&(r=Number(r)-1,a=Number(a)+1);e.xax_count=2}r=e.min_x||r,a=e.max_x||a,e.x_axis_negative=!1,e.processed.min_x=r,e.processed.max_x=a,y(e),MG.call_hook("x_axis.process_min_max",e,r,a),e.time_series||e.processed.min_x<0&&(e.processed.min_x=e.processed.min_x-e.processed.max_x*(e.inflator-1),e.x_axis_negative=!0),"bar"===e.chart_type?e.additional_buffer=5*e.buffer:e.additional_buffer=0}function y(t){var e=t.chart_type;t.processed.xax_format||(t.xax_format?t.processed.xax_format=t.xax_format:"line"===e||"point"===e||"histogram"===e?t.processed.xax_format=_(t):"bar"===e&&(t.processed.xax_format=p(t)))}function b(e){"use strict";function r(){var t=rt(e.processed.original_data||e.data)[0];return t[e.processed.original_x_accessor||e.x_accessor]instanceof Date}var n={target:null,title:null,description:null};e=arguments[0],e||(e={}),e.processed||(e.processed={}),e=ct(e,n);var o=t.select(e.target);if(o.empty())return void console.warn('The specified target element "'+e.target+'" could not be found in the page. The chart will not be rendered.');var s=o.selectAll("svg");e.time_series=r();var i=e.width,l=e.height;e.full_width&&(i=it(e.target)),e.full_height&&(l=lt(e.target)),"bar"===e.chart_type&&null===l&&(l=e.height=e.data[0].length*e.bar_height+e.top+e.bottom),(!s.selectAll(".mg-main-line").empty()&&"line"!==e.chart_type||!s.selectAll(".mg-points").empty()&&"point"!==e.chart_type||!s.selectAll(".mg-histogram").empty()&&"histogram"!==e.chart_type||!s.selectAll(".mg-barplot").empty()&&"bar"!==e.chart_type)&&s.remove(),et(e.target).empty()&&(s=t.select(e.target).append("svg").classed("linked",e.linked).attr("width",i).attr("height",l)),e.width=i,e.height=l,s.selectAll(".mg-clip-path").remove(),s.append("defs").attr("class","mg-clip-path").append("clipPath").attr("id","mg-plot-window-"+nt(e.target)).append("svg:rect").attr("x",e.left).attr("y",e.top).attr("width",e.width-e.left-e.right-e.buffer).attr("height",e.height-e.top-e.bottom-e.buffer+1),i!==Number(s.attr("width"))&&s.attr("width",i),l!==Number(s.attr("height"))&&s.attr("height",l),s.attr("viewBox","0 0 "+i+" "+l),(e.full_width||e.full_height)&&s.attr("preserveAspectRatio","xMinYMin meet"),s.classed("mg-missing",!1),s.selectAll(".mg-missing-text").remove(),s.selectAll(".mg-missing-pane").remove(),a(e),e.use_small_class=e.height-e.top-e.bottom-e.buffer<=e.small_height_threshold&&e.width-e.left-e.right-2*e.buffer<=e.small_width_threshold||e.small_text;var c=0;if(s.selectAll(".mg-main-line")[0].length>=e.data.length)if(e.custom_line_color_map.length>0){var u=function(t){for(var e=new Array(t),r=0;rf;c--)s.selectAll(".mg-main-line.mg-line"+c+"-color").remove()}return this}function w(e){"use strict";function r(t){return e.scales.X(t[e.x_accessor])}function a(t){return r(t).toFixed(2)}function n(t){return e.scales.X(t[e.x_accessor])>e.buffer+e.left&&e.scales.X(t[e.x_accessor])0&&t[0][e.x_accessor]instanceof Date}))>0;if(e.missing_is_hidden&&(e.interpolate="linear"),(e.missing_is_zero||e.missing_is_hidden)&&"line"===e.chart_type&&r)for(var n=0;n=d;d.setDate(d.getDate()+1)){var f={};d.setHours(0,0,0,0),Date.parse(d)===Date.parse(new Date(l))&&i.push(MG.clone(e.data[n][0]));var p=null;e.data[n].forEach(function(t,r){return Date.parse(t[e.x_accessor])===Date.parse(new Date(d))?(p=t,!1):void 0}),p?p[e.missing_is_hidden_accessor]||null==p[e.y_accessor]?(p._missing=!0,i.push(p)):i.push(p):(f[e.x_accessor]=new Date(d),f[e.y_accessor]=0,f._missing=!0,i.push(f))}else for(var m=0;ms;s+=1){i=t.zip(c,r).map(function(t){return Math.abs(t[1]-t[0])});var u=t.quantile(i.sort(),.5);i=i.map(function(t){return P(t/(6*u))}),o=N(e,r,a,n,i),l=o.x,c=o.y}return t.zip(l,c).map(function(t){var e={};return e.x=t[0],e.y=t[1],e})}function X(t,e,r,a){for(var n=[],o=0;o=0&&1>=t?Math.pow(1-Math.pow(t,e),e):0}function P(t){return z(t,2)}function $(t){return z(t,3)}function S(e){var r=t.sum(e.map(function(t){return t.w}));return{xbar:t.sum(e.map(function(t){return t.w*t.x}))/r,ybar:t.sum(e.map(function(t){return t.w*t.y}))/r}}function j(e,r,a){var n=t.sum(e.map(function(t){return Math.pow(t.w,2)*(t.x-r)*(t.y-a)})),o=t.sum(e.map(function(t){return Math.pow(t.w,2)*Math.pow(t.x-r,2)}));return n/o}function L(t){var e,r,a=S(t);r=a.xbar,e=a.ybar;var n=j(t,r,e);return{beta:n,xbar:r,ybar:e,x0:e-n*r}}function N(e,r,a,n,o){var s=Math.floor(e.length*a),i=e.slice();i.sort(function(t,e){return e>t?-1:t>e?1:0});for(var l,c,u,d,f,p=t.quantile(i,.98),h=t.quantile(i,.02),m=t.zip(e,r,o).sort(),_=Math.abs(p-h)/n,g=h,v=p,x=t.range(g,v,_),y=[],b=0;bt?"M"+u.map(function(e){return e(t)}).join("L"):e}}}function R(t){return"[object Array]"===Object.prototype.toString.call(t)}function q(t){return"[object Function]"===Object.prototype.toString.call(t)}function H(t){return R(t)&&0==t.length}function U(t){return"[object Object]"===Object.prototype.toString.call(t)}function Q(e){var r=e.map(function(t){return R(t)===!0&&t.length>0});return t.sum(r)===e.length}function Z(e){var r=e.map(function(t){return U(t)===!0});return t.sum(r)===e.length}function V(t){return H(t)||Z(t)}function W(e,r){if(e&&1!=e.length)for(var a=0;a=a.top?a.bottom-r.top:!1}function tt(t,e){for(var r=t.getBoundingClientRect(),a=0;ar.right||n.rightr&&(t.textContent=e.slice(0,--n)+"...",a=t.getBBox(),"..."!==t.textContent););}function pt(e,r,a,n){e.each(function(){for(var e,o=t.select(this),s=o.text().split(a||/\s+/).reverse(),i=[],l=0,c=1.1,u=(o.attr("y"),0),d=o.text(null).append("tspan").attr("x",0).attr("y",u+"em").attr(n||{});e=s.pop();)i.push(e),d.text(i.join(" ")),(null===r||d.node().getComputedTextLength()>r)&&(i.pop(),d.text(i.join(" ")),i=[e],d=o.append("tspan").attr("x",0).attr("y",++l*c+u+"em").attr(n||{}).text(e))})}function ht(e){console.log("ERROR : ",e.target," : ",e.error),t.select(e.target).select(".mg-chart-title").append("i").attr("class","fa fa-x fa-exclamation-circle warning")}window.MG={version:"2.6.0"},MG.register=r,MG._hooks={},MG.add_hook=function(t,e,r){var a;MG._hooks[t]||(MG._hooks[t]=[]),a=MG._hooks[t];var n=a.filter(function(t){return t.func===e}).length>0;if(n)throw"That function is already registered.";a.push({func:e,context:r})},MG.call_hook=function(t){var e,r=MG._hooks[t],a=[].slice.apply(arguments,[1]);return r&&r.forEach(function(t){if(t.func){var r=e||a;r&&r.constructor!==Array&&(r=[r]),r=[].concat.apply([],r),e=t.func.apply(t.context,r)}}),e||a},MG.globals={},MG.deprecations={rollover_callback:{replacement:"mouseover",version:"2.0"},rollout_callback:{replacement:"mouseout",version:"2.0"},show_years:{replacement:"show_secondary_x_label",version:"2.1"},xax_start_at_min:{replacement:"axes_not_compact",version:"2.7"}},MG.globals.link=!1,MG.globals.version="1.1",MG.charts={},MG.data_graphic=function(t){"use strict";var e={missing_is_zero:!1,missing_is_hidden:!1,missing_is_hidden_accessor:null,legend:"",legend_target:"",error:"",animate_on_load:!1,top:65,title_y_position:10,bottom:30,right:10,left:50,buffer:8,width:350,height:220,full_width:!1,full_height:!1,small_height_threshold:120,small_width_threshold:160,small_text:!1,xax_count:6,xax_tick_length:5,axes_not_compact:!0,yax_count:5,yax_tick_length:5,x_extended_ticks:!1,y_extended_ticks:!1,y_scale_type:"linear",max_x:null,max_y:null,min_x:null,min_y:null,min_y_from_data:!1,point_size:2.5,x_accessor:"date",xax_units:"",x_label:"",x_sort:!0,x_axis:!0,y_axis:!0,y_accessor:"value",y_label:"",yax_units:"",x_rug:!1,y_rug:!1,x_rollover_format:null,y_rollover_format:null,transition_on_update:!0,mouseover:null,show_rollover_text:!0,show_confidence_band:null,xax_format:null,area:!0,chart_type:"line",data:[],decimals:2,format:"count",inflator:10/9,linked:!1,linked_format:"%Y-%m-%d",list:!1,baselines:null,markers:null,scalefns:{},scales:{},utc_time:!1,european_clock:!1,show_year_markers:!1,show_secondary_x_label:!0,target:"#viz",interpolate:"cardinal",interpolate_tension:.7,custom_line_color_map:[],colors:null,max_data_size:null,aggregate_rollover:!1,show_tooltips:!0};MG.call_hook("global.defaults",e),t||(t={});var r=MG.charts[t.chart_type||e.chart_type];ct(t,r.defaults,e),t.list&&(t.x_accessor=0,t.y_accessor=1);for(var a in MG.deprecations)if(t.hasOwnProperty(a)){var n=MG.deprecations[a],o="Use of `args."+a+"` has been deprecated",s=n.replacement;if(s&&(t[s]?o+=". The replacement - `args."+s+"` - has already been defined. This definition will be discarded.":t[s]=t[a]),n.warned)continue;n.warned=!0,s&&(o+=" in favor of `args."+s+"`"),dt(o,n.version)}return MG.call_hook("global.before_init",t),new r.descriptor(t),t.data},"undefined"!=typeof jQuery&&(+function(t){"use strict";function e(e){return this.each(function(){var a=t(this),n=a.data("bs.tooltip"),o="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||a.data("bs.tooltip",n=new r(this,o)),"string"==typeof e&&n[e]())})}var r=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null, -this.$element=null,this.inState=null,this.init("tooltip",t,e)};r.VERSION="3.3.5",r.TRANSITION_DURATION=150,r.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},r.prototype.init=function(e,r,a){if(this.enabled=!0,this.type=e,this.$element=t(r),this.options=this.getOptions(a),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),o=n.length;o--;){var s=n[o];if("click"==s)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=s){var i="hover"==s?"mouseenter":"focusin",l="hover"==s?"mouseleave":"focusout";this.$element.on(i+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},r.prototype.getDefaults=function(){return r.DEFAULTS},r.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},r.prototype.getDelegateOptions=function(){var e={},r=this.getDefaults();return this._options&&t.each(this._options,function(t,a){r[t]!=a&&(e[t]=a)}),e},r.prototype.enter=function(e){var r=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return r||(r=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,r)),e instanceof t.Event&&(r.inState["focusin"==e.type?"focus":"hover"]=!0),r.tip().hasClass("in")||"in"==r.hoverState?void(r.hoverState="in"):(clearTimeout(r.timeout),r.hoverState="in",r.options.delay&&r.options.delay.show?void(r.timeout=setTimeout(function(){"in"==r.hoverState&&r.show()},r.options.delay.show)):r.show())},r.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},r.prototype.leave=function(e){var r=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return r||(r=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,r)),e instanceof t.Event&&(r.inState["focusout"==e.type?"focus":"hover"]=!1),r.isInStateTrue()?void 0:(clearTimeout(r.timeout),r.hoverState="out",r.options.delay&&r.options.delay.hide?void(r.timeout=setTimeout(function(){"out"==r.hoverState&&r.hide()},r.options.delay.hide)):r.hide())},r.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var a=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!a)return;var n=this,o=this.tip(),s=this.getUID(this.type);this.setContent(),o.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&o.addClass("fade");var i="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,c=l.test(i);c&&(i=i.replace(l,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(i).data("bs."+this.type,this),this.options.container?o.appendTo(this.options.container):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),d=o[0].offsetWidth,f=o[0].offsetHeight;if(c){var p=i,h=this.getPosition(this.$viewport);i="bottom"==i&&u.bottom+f>h.bottom?"top":"top"==i&&u.top-fh.width?"left":"left"==i&&u.left-ds.top+s.height&&(n.top=s.top+s.height-l)}else{var c=e.left-o,u=e.left+o+r;cs.right&&(n.left=s.left+s.width-u)}return n},r.prototype.getTitle=function(){var t,e=this.$element,r=this.options;return t=e.attr("data-original-title")||("function"==typeof r.title?r.title.call(e[0]):r.title)},r.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},r.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},r.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},r.prototype.enable=function(){this.enabled=!0},r.prototype.disable=function(){this.enabled=!1},r.prototype.toggleEnabled=function(){this.enabled=!this.enabled},r.prototype.toggle=function(e){var r=this;e&&(r=t(e.currentTarget).data("bs."+this.type),r||(r=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,r))),e?(r.inState.click=!r.inState.click,r.isInStateTrue()?r.enter(r):r.leave(r)):r.tip().hasClass("in")?r.leave(r):r.enter(r)},r.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null})};var a=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=r,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=a,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var a=t(this),n=a.data("bs.popover"),o="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||a.data("bs.popover",n=new r(this,o)),"string"==typeof e&&n[e]())})}var r=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");r.VERSION="3.3.5",r.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),r.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),r.prototype.constructor=r,r.prototype.getDefaults=function(){return r.DEFAULTS},r.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),r=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof r?"html":"append":"text"](r),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},r.prototype.hasContent=function(){return this.getTitle()||this.getContent()},r.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},r.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var a=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=r,t.fn.popover.noConflict=function(){return t.fn.popover=a,this}}(jQuery)),MG.chart_title=a,MG.y_rug=n,MG.y_axis=o,MG.y_axis_categorical=s,MG.x_rug=i,MG.x_axis=l,MG.x_axis_categorical=c,MG.init=b,MG.markers=w,"undefined"!=typeof jQuery&&+function(t){"use strict";function e(e){e&&3===e.which||(t(n).remove(),t(o).each(function(){var a=t(this),n=r(a),o={relatedTarget:this};n.hasClass("open")&&(n.trigger(e=t.Event("hide.bs.dropdown",o)),e.isDefaultPrevented()||(a.attr("aria-expanded","false"),n.removeClass("open").trigger("hidden.bs.dropdown",o)))}))}function r(e){var r=e.attr("data-target");r||(r=e.attr("href"),r=r&&/#[A-Za-z]/.test(r)&&r.replace(/.*(?=#[^\s]*$)/,""));var a=r&&t(r);return a&&a.length?a:e.parent()}function a(e){return this.each(function(){var r=t(this),a=r.data("bs.dropdown");a||r.data("bs.dropdown",a=new s(this)),"string"==typeof e&&a[e].call(r)})}if("function"==typeof t().dropdown)return!0;var n=".dropdown-backdrop",o='[data-toggle="dropdown"]',s=function(e){t(e).on("click.bs.dropdown",this.toggle)};s.VERSION="3.3.1",s.prototype.toggle=function(a){var n=t(this);if(!n.is(".disabled, :disabled")){var o=r(n),s=o.hasClass("open");if(e(),!s){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t('");var d=function(){var t,r=e(this).data("key"),a=e(this).data("feature");return e("."+a+"-btns button.btn span.title").html(r),i.hasOwnProperty(a)?(t=i[a],s[t](r)):o(a,r),!1};for(var f in this.feature_set){for(a=this.feature_set[f],e(this.target+" div.segments").append('
"),l=0;l'+a[l]+"");e("."+this._strip_punctuation(f)+"-btns .dropdown-menu li a").on("click",d)}return this},this},function(){"use strict";function e(e){this.init=function(t){return this.args=t,t.data&&0!==t.data.length?(A(t),G(t),b(t),l(t),o(t),this.markers(),this.mainPlot(),this.rollover(),this.windowListeners(),MG.call_hook("line.after_init",this),this):(t.error="No data was supplied",ht(t),this)},this.mainPlot=function(){var r=et(e.target);r.selectAll(".mg-line-legend").remove();var a,n;e.legend&&(a=r.append("g").attr("class","mg-line-legend"));var o=0,s=e.transition_on_update?1e3:0,i=function(t){return t[e.y_accessor]},l=t.svg.line().x(e.scalefns.xf).y(e.scalefns.yf).interpolate(e.interpolate).tension(e.interpolate_tension);e.missing_is_zero||(l=l.defined(function(t){return(void 0==t._missing||1!=t._missing)&&null!=t[e.y_accessor]}));var c,u=t.svg.line().defined(function(t){return(void 0==t._missing||1!=t._missing)&&null!=t[e.y_accessor]}).x(e.scalefns.xf).y(function(){return e.scales.Y(o)}).interpolate(e.interpolate).tension(e.interpolate_tension),d=t.svg.area().defined(l.defined()).x(e.scalefns.xf).y0(e.scales.Y.range()[0]).y1(e.scalefns.yf).interpolate(e.interpolate).tension(e.interpolate_tension),f=r.selectAll(".mg-confidence-band");e.show_confidence_band&&(c=t.svg.area().defined(l.defined()).x(e.scalefns.xf).y0(function(t){var r=e.show_confidence_band[0];return e.scales.Y(t[r])}).y1(function(t){var r=e.show_confidence_band[1];return e.scales.Y(t[r])}).interpolate(e.interpolate).tension(e.interpolate_tension));var p,h,m="",_=MG.call_hook("line.before_all_series",[e]);if(_!==!1)for(var g=e.data.length-1;g>=0;g--){p=e.data[g],MG.call_hook("line.before_each_series",[p,e]);var v=g+1;if(e.custom_line_color_map.length>0&&(v=e.custom_line_color_map[g]),e.data[g].line_id=v,0!==p.length){e.show_confidence_band&&(h=f.empty()?r.append("path").attr("class","mg-confidence-band"):f.transition().duration(function(){return e.transition_on_update?1e3:0}),h.attr("d",c(e.data[g])).attr("clip-path","url(#mg-plot-window-"+nt(e.target)+")"));var x=r.selectAll(".mg-main-area.mg-area"+v),y=e.area&&!e.use_data_y_min&&e.data.length<=1;y?x.empty()?r.append("path").classed("mg-main-area",!0).classed("mg-area"+v,!0).classed("mg-area"+v+"-color",null===e.colors).attr("d",d(e.data[g])).attr("fill",null===e.colors?"":e.colors[v-1]).attr("clip-path","url(#mg-plot-window-"+nt(e.target)+")"):(r.node().appendChild(x.node()),x.transition().duration(s).attr("d",d(e.data[g])).attr("clip-path","url(#mg-plot-window-"+nt(e.target)+")")):x.empty()||x.remove();var b=r.select("path.mg-main-line.mg-line"+v+"-color");if(b.empty()){var w=r.append("path").attr("class","mg-main-line");e.colors&&e.colors.constructor===Array?(w.attr("stroke",e.colors[g]),e.colors.length— "+n+"  "+m:"— "+n+"  "+m;else{var M=p[p.length-1],A=a.append("svg:text").attr("x",e.scalefns.xf(M)).attr("dx",e.buffer).attr("y",e.scalefns.yf(M)).attr("dy",".35em").attr("font-size",10).attr("font-weight","300").text(n);e.colors&&e.colors.constructor===Array?e.colors.length0?e.data[a][i].line_id=e.custom_line_color_map[a]:e.data[a][i].line_id=s;s++}var l,c;if(e.data.length>1&&!e.aggregate_rollover){var u=t.geom.voronoi().x(function(t){return e.scales.X(t[e.x_accessor]).toFixed(2)}).y(function(t){return e.scales.Y(t[e.y_accessor]).toFixed(2)}).clipExtent([[e.buffer,e.buffer+e.title_y_position],[e.width-e.buffer,e.height-e.buffer]]);r=n.append("g").attr("class","mg-voronoi"),l=t.nest().key(function(t){return e.scales.X(t[e.x_accessor])+","+e.scales.Y(t[e.y_accessor])}).rollup(function(t){return t[0]}).entries(t.merge(e.data.map(function(t){return t}))).map(function(t){return t.values}),r.selectAll("path").data(u(l)).enter().append("path").filter(function(t){return void 0!==t&&t.length>0}).attr("d",function(t){return"M"+t.join("L")+"Z"}).datum(function(t){return t.point}).attr("class",function(t){var r;if(e.linked){var n=t[e.x_accessor],o=MG.time_format(e.utc_time,e.linked_format),s="number"==typeof n?a:o(n);return r="roll_"+s+" mg-line"+t.line_id,null===e.color&&(r+=" mg-line"+t.line_id+"-color"),r}return r="mg-line"+t.line_id,null===e.color&&(r+=" mg-line"+t.line_id+"-color"),r}).on("mouseover",this.rolloverOn(e)).on("mouseout",this.rolloverOff(e)).on("mousemove",this.rolloverMove(e))}else e.data.length>1&&e.aggregate_rollover?(l=t.nest().key(function(t){return t[e.x_accessor]}).entries(t.merge(e.data)).sort(function(t,e){return new Date(t.key)-new Date(e.key)}),l.forEach(function(t){var r=t.values[0];t.key=r[e.x_accessor]}),c=l.map(function(t){return e.scales.X(t.key)}),r=n.append("g").attr("class","mg-rollover-rect"),r.selectAll(".mg-rollover-rects").data(l).enter().append("rect").attr("x",function(t,r){return 1===c.length?e.left+e.buffer:0===r?c[r].toFixed(2):((c[r-1]+c[r])/2).toFixed(2)}).attr("y",e.top).attr("width",function(t,r){return 1===c.length?e.width-e.right-e.buffer:0===r?((c[r+1]-c[r])/2).toFixed(2):r==c.length-1?((c[r]-c[r-1])/2).toFixed(2):((c[r+1]-c[r-1])/2).toFixed(2)}).attr("class",function(t){var r=t.values.map(function(r){var a="mg-line"+t.line_id;return null===e.colors&&(a+=" mg-line"+r.line_id+"-color"),a}).join(" ");if(e.linked&&t.values.length>0){var n=MG.time_format(e.utc_time,e.linked_format),o=t.values[0],s=o[e.x_accessor],i="number"==typeof s?a:n(s);return r+" roll_"+i}return r}).attr("height",e.height-e.bottom-e.top-e.buffer).attr("opacity",0).on("mouseover",this.rolloverOn(e)).on("mouseout",this.rolloverOff(e)).on("mousemove",this.rolloverMove(e))):(s=1,e.custom_line_color_map.length>0&&(s=e.custom_line_color_map[0]),r=n.append("g").attr("class","mg-rollover-rect"),c=e.data[0].map(e.scalefns.xf),r.selectAll(".mg-rollover-rects").data(e.data[0]).enter().append("rect").attr("class",function(t,r){if(e.linked){var a=t[e.x_accessor],n=MG.time_format(e.utc_time,e.linked_format),o="number"==typeof a?r:n(a);return"mg-line"+s+"-color roll_"+o+" mg-line"+t.line_id}return"mg-line"+s+"-color mg-line"+t.line_id}).attr("x",function(t,r){return 1===c.length?e.left+e.buffer:0===r?c[r].toFixed(2):((c[r-1]+c[r])/2).toFixed(2)}).attr("y",function(t,r){return e.data.length>1?e.scalefns.yf(t)-6:e.top}).attr("width",function(t,r){return 1===c.length?e.width-e.right-e.buffer:0===r?((c[r+1]-c[r])/2).toFixed(2):r===c.length-1?((c[r]-c[r-1])/2).toFixed(2):((c[r+1]-c[r-1])/2).toFixed(2)}).attr("height",function(t,r){return e.data.length>1?12:e.height-e.bottom-e.top-e.buffer}).attr("opacity",0).on("mouseover",this.rolloverOn(e)).on("mouseout",this.rolloverOff(e)).on("mousemove",this.rolloverMove(e)));if(1==e.data.length&&1==e.data[0].length)n.select(".mg-rollover-rect rect").on("mouseover")(e.data[0][0],0);else if(e.data.length>1&&!e.aggregate_rollover)for(var a=0;a0&&void 0!==e.custom_line_color_map[a]&&(i=e.custom_line_color_map[a]),1!=e.data[a].length||n.selectAll(".mg-voronoi .mg-line"+i).empty()||(n.selectAll(".mg-voronoi .mg-line"+i).on("mouseover")(e.data[a][0],0),n.selectAll(".mg-voronoi .mg-line"+i).on("mouseout")(e.data[a][0],0))}else if(e.data.length>1&&e.aggregate_rollover){var d=n.selectAll(".mg-rollover-rect rect");d.on("mouseover")(d[0][0].__data__,0)}return MG.call_hook("line.after_rollover",e),this},this.rolloverOn=function(e){var r,a=et(e.target);switch(e.processed.x_time_frame){case"millis":r=MG.time_format(e.utc_time,"%b %e, %Y %H:%M:%S.%L");break;case"seconds":r=MG.time_format(e.utc_time,"%b %e, %Y %H:%M:%S");break;case"less-than-a-day":r=MG.time_format(e.utc_time,"%b %e, %Y %I:%M%p");break;case"four-days":r=MG.time_format(e.utc_time,"%b %e, %Y %I:%M%p");break;default:r=MG.time_format(e.utc_time,"%b %e, %Y")}return function(n,o){if(e.aggregate_rollover&&e.data.length>1)a.selectAll("circle.mg-line-rollover-circle").style("opacity",0),n.values.forEach(function(t){if(t[e.x_accessor]>=e.processed.min_x&&t[e.x_accessor]<=e.processed.max_x&&t[e.y_accessor]>=e.processed.min_y&&t[e.y_accessor]<=e.processed.max_y){a.select("circle.mg-line-rollover-circle.mg-line"+t.line_id).attr({cx:function(){return e.scales.X(t[e.x_accessor]).toFixed(2)},cy:function(){return e.scales.Y(t[e.y_accessor]).toFixed(2)},r:e.point_size}).style("opacity",1)}});else{if(e.missing_is_hidden&&n._missing||null==n[e.y_accessor])return;if(n[e.x_accessor]>=e.processed.min_x&&n[e.x_accessor]<=e.processed.max_x&&n[e.y_accessor]>=e.processed.min_y&&n[e.y_accessor]<=e.processed.max_y){a.selectAll("circle.mg-line-rollover-circle.mg-line"+n.line_id).classed("mg-line-rollover-circle",!0).attr("cx",function(){return e.scales.X(n[e.x_accessor]).toFixed(2)}).attr("cy",function(){return e.scales.Y(n[e.y_accessor]).toFixed(2)}).attr("r",e.point_size).style("opacity",1)}}if(e.linked&&!MG.globals.link&&(MG.globals.link=!0,!e.aggregate_rollover||void 0!==n.value||n.values.length>0)){var s=n.values?n.values[0]:n,i=MG.time_format(e.utc_time,e.linked_format),l=s[e.x_accessor],c="number"==typeof l?o:i(l);t.selectAll(".mg-line"+s.line_id+".roll_"+c).each(function(e){t.select(this).on("mouseover")(e,o)})}a.selectAll("text").filter(function(t,e){return n===t}).attr("opacity",.3);var u=I(e);if(e.show_rollover_text){var d=a.select(".mg-active-datapoint"),f=0,p=1.1;d.select("*").remove();var h,m,_=function(t,e,r,a){var n;return n="string"==typeof t?MG.time_format(a,t)(e[r]):"function"==typeof t?t(e):e[r]},g=function(e,r,a){var n;return n="string"==typeof e?t.format(e)(r[a]):"function"==typeof e?e(r):r[a]};if(m=null!=e.y_rollover_format?e.aggregate_rollover?"":g(e.y_rollover_format,n,e.y_accessor):e.time_series?e.aggregate_rollover?"":e.yax_units+u(n[e.y_accessor]):e.y_accessor+": "+e.yax_units+u(n[e.y_accessor]),null!=e.x_rollover_format)h=e.time_series?e.aggregate_rollover?_(e.x_rollover_format,n,"key",e.utc):_(e.x_rollover_format,n,e.x_accessor,e.utc):g(e.x_rollover_format,n,e.x_accessor);else if(e.time_series){if(e.aggregate_rollover&&e.data.length>1)var v=new Date(n.key);else{var v=new Date(+n[e.x_accessor]);v.setDate(v.getDate())}h=r(v)+" "}else h=e.x_accessor+": "+n[e.x_accessor]+", ";if(e.aggregate_rollover&&e.data.length>1){if(e.time_series){d.append("tspan").text(h.trim()),f=1;n.values.forEach(function(t){m=null!=e.y_rollover_format?g(e.y_rollover_format,t,e.y_accessor):u(t[e.y_accessor]);var r=d.append("tspan").attr({x:0,y:f*p+"em"}).text(m);d.append("tspan").attr({x:-r.node().getComputedTextLength(),y:f*p+"em"}).text("— ").classed("mg-hover-line"+t.line_id+"-color",null===e.colors).attr("fill",null===e.colors?"":e.colors[t.line_id-1]).style("font-weight","bold"),f++}),d.append("tspan").attr("x",0).attr("y",f*p+"em").text(" ")}else n.values.forEach(function(t){m=null!=e.y_rollover_format?g(e.y_rollover_format,t,e.y_accessor):e.yax_units+u(t[e.y_accessor]);var r=d.append("tspan").attr({x:0,y:f*p+"em"}).text(h+" "+m);d.append("tspan").attr({x:-r.node().getComputedTextLength(),y:f*p+"em"}).text("— ").classed("mg-hover-line"+t.line_id+"-color",!0).style("font-weight","bold"),f++});d.append("tspan").attr("x",0).attr("y",f*p+"em").text(" ")}else e.time_series?(d.select("*").remove(),d.append("tspan").classed("mg-x-rollover-text",!0).text(h),d.append("tspan").classed("mg-y-rollover-text",!0).text(m)):(d.append("tspan").text(h),d.append("tspan").text(m))}e.mouseover&&e.mouseover(n,o)}},this.rolloverOff=function(e){var r=et(e.target);return function(a,n){if(e.linked&&MG.globals.link){MG.globals.link=!1;var o=MG.time_format(e.utc_time,e.linked_format),s=a.values?a.values:[a];s.forEach(function(r){var a=r[e.x_accessor],s="number"==typeof a?n:o(a);t.selectAll(".roll_"+s).each(function(e){t.select(this).on("mouseout")(e)})})}e.aggregate_rollover?r.selectAll("circle.mg-line-rollover-circle").style("opacity",function(){return 0}):r.selectAll("circle.mg-line-rollover-circle.mg-line"+a.line_id).style("opacity",function(){var t=a.line_id-1;return e.custom_line_color_map.length>0&&void 0!==e.custom_line_color_map.indexOf(a.line_id)&&(t=e.custom_line_color_map.indexOf(a.line_id)),1==e.data[t].length?1:0}),r.select(".mg-active-datapoint").text(""),e.mouseout&&e.mouseout(a,n)}},this.rolloverMove=function(t){return function(e,r){t.mousemove&&t.mousemove(e,r)}},this.windowListeners=function(){return k(this.args),this},this.init(e)}MG.register("line",e)}.call(this),function(){"use strict";function r(r){this.init=function(t){return this.args=t,A(t),D(t),b(t),l(t),o(t),this.mainPlot(),this.markers(),this.rollover(),this.windowListeners(),this},this.mainPlot=function(){var t=et(r.target);t.selectAll(".mg-histogram").remove();var e=t.append("g").attr("class","mg-histogram"),a=e.selectAll(".mg-bar").data(r.data[0]).enter().append("g").attr("class","mg-bar").attr("transform",function(t){return"translate("+r.scales.X(t[r.x_accessor]).toFixed(2)+","+r.scales.Y(t[r.y_accessor]).toFixed(2)+")"});return a.append("rect").attr("x",1).attr("width",function(t,e){return 1===r.data[0].length?(r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(2):(r.scalefns.xf(r.data[0][1])-r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(2)}).attr("height",function(t){return 0===t[r.y_accessor]?0:(r.height-r.bottom-r.buffer-r.scales.Y(t[r.y_accessor])).toFixed(2)}),this},this.markers=function(){return w(r),this},this.rollover=function(){var t=et(r.target);e(e(r.target).find("svg").get(0));t.selectAll(".mg-rollover-rect").remove(),t.selectAll(".mg-active-datapoint").remove(),t.append("text").attr("class","mg-active-datapoint").attr("xml:space","preserve").attr("x",r.width-r.right).attr("y",.75*r.top).attr("text-anchor","end");var a=t.append("g").attr("class","mg-rollover-rect"),n=a.selectAll(".mg-bar").data(r.data[0]).enter().append("g").attr("class",function(t,e){return r.linked?"mg-rollover-rects roll_"+e:"mg-rollover-rects"}).attr("transform",function(t){return"translate("+r.scales.X(t[r.x_accessor])+",0)"});return n.append("rect").attr("x",1).attr("y",r.buffer+r.title_y_position).attr("width",function(t,e){return 1===r.data[0].length?(r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(2):e!==r.data[0].length-1?(r.scalefns.xf(r.data[0][e+1])-r.scalefns.xf(t)).toFixed(2):(r.scalefns.xf(r.data[0][1])-r.scalefns.xf(r.data[0][0])).toFixed(2)}).attr("height",function(t){return r.height}).attr("opacity",0).on("mouseover",this.rolloverOn(r)).on("mouseout",this.rolloverOff(r)).on("mousemove",this.rolloverMove(r)),this},this.rolloverOn=function(e){var r=et(e.target);return function(a,n){r.selectAll("text").filter(function(t,e){return a===t}).attr("opacity",.3);var o=e.processed.xax_format||MG.time_format(e.utc_time,"%b %e, %Y"),s=I(e);r.selectAll(".mg-bar rect").filter(function(t,e){return e===n}).classed("active",!0),e.linked&&!MG.globals.link&&(MG.globals.link=!0,t.selectAll(".mg-rollover-rects.roll_"+n+" rect").each(function(e){t.select(this).on("mouseover")(e,n)})),e.show_rollover_text&&r.select(".mg-active-datapoint").text(function(){if(e.time_series){var t=new Date(+a[e.x_accessor]); +!function(t,e){"function"==typeof define&&define.amd?define(["d3","jquery"],e):"object"==typeof exports?module.exports=e(require("d3"),require("jquery")):t.MG=e(t.d3,t.jQuery)}(this,function(t,e){function r(t,e,r){MG.charts[t]={descriptor:e,defaults:r||{}}}function a(t){"use strict";var r=et(t.target);if(r.select(".mg-header").remove(),t.target&&t.title){var a=r.insert("text").attr("class","mg-header").attr("x",(t.width+t.left-t.right)/2).attr("y",t.title_y_position).attr("text-anchor","middle").attr("dy","0.55em");if(a.append("tspan").attr("class","mg-chart-title").text(t.title),t.show_tooltips&&t.description){a.append("tspan").attr("class","mg-chart-description").attr("dx","0.3em").text("");var n=e(a.node());n.popover({html:!0,animation:!1,placement:"top",content:t.description,container:t.target,trigger:"manual",template:'

'}).on("mouseenter",function(){e(this).popover("show"),e(t.target).select(".popover").on("mouseleave",function(){n.popover("hide")})}).on("mouseleave",function(){setTimeout(function(){e(".popover:hover").length||n.popover("hide")},120)})}}t.error&&ht(t)}function n(t){"use strict";for(var e=et(t.target),r="point"===t.chart_type?t.buffer/2:2*t.buffer/3,a=[],n=0;n0},u=function(t){return t[e.y_accessor]},d=0;d0){var p=t.extent(f,u);l?(o=Math.min(p[0],o),s=Math.max(p[1],s)):(o=p[0],s=p[1],l=!0)}}o>=0&&!e.min_y&&!e.min_y_from_data&&(o=0),"bar"===e.chart_type&&(o=0,s=t.max(e.data[0],function(t){var r=[];return r.push(t[e.y_accessor]),null!==e.baseline_accessor&&r.push(t[e.baseline_accessor]),null!==e.predictor_accessor&&r.push(t[e.predictor_accessor]),Math.max.apply(null,r)})),o=null!==e.min_y?e.min_y:o,s=null!==e.max_y?e.max_y:0>s?s+(s-s*e.inflator):s*e.inflator,"log"!==e.y_scale_type&&0>o&&(o-=o-o*e.inflator),!e.min_y&&e.min_y_from_data&&(o/=e.inflator),e.processed.min_y=o,e.processed.max_y=s,MG.call_hook("y_axis.process_min_max",e,o,s),o=e.processed.min_y,s=e.processed.max_y,"log"===e.y_scale_type?("histogram"===e.chart_type?o=.2:0>=o&&(o=1),e.scales.Y=t.scale.log().domain([o,s]).range([e.height-e.bottom-e.buffer,e.top]).clamp(!0)):e.scales.Y=t.scale.linear().domain([o,s]).range([e.height-e.bottom-e.buffer,e.top]),e.scales.Y_axis=t.scale.linear().domain([e.processed.min_y,e.processed.max_y]).range([e.height-e.bottom-e.buffer,e.top]);var h=e.yax_format;if(h||("count"===e.format?(1e-4>s?e.decimals=6:.1>s&&(e.decimals=4),h=function(r){if(1>r)return e.yax_units+t.round(r,e.decimals);var a=t.formatPrefix(r);return e.yax_units+a.scale(r)+a.symbol}):h=function(e){var r=t.format("2p");return r(e)}),i.selectAll(".mg-y-axis").remove(),!e.y_axis)return this;a=i.append("g").classed("mg-y-axis",!0).classed("mg-y-axis-small",e.use_small_class),e.y_label&&a.append("text").attr("class","label").attr("x",function(){return-1*(e.top+e.buffer+(e.height-e.bottom-e.buffer-(e.top+e.buffer))/2)}).attr("y",function(){return e.left/2}).attr("dy","0.4em").attr("text-anchor","middle").text(function(t){return e.y_label}).attr("transform",function(t){return"rotate(-90)"});var m=e.scales.Y.ticks(e.yax_count);"log"===e.y_scale_type&&(m=m.filter(function(t){return Math.abs(r(t))%1<1e-6||Math.abs(r(t))%1>1-1e-6}));var _=e.scales.Y.ticks(e.yax_count).length,g=!0;e.data.forEach(function(t,r){t.forEach(function(t,r){return t[e.y_accessor]%1!==0?(g=!1,!1):void 0})}),g&&_>s&&"count"===e.format&&(m=m.filter(function(t){return t%1===0}));var v=m.length;if(!e.x_extended_ticks&&!e.y_extended_ticks&&v){var x,y;e.axes_not_compact&&"bar"!==e.chart_type?(x=e.height-e.bottom,y=e.top):v?(x=e.scales.Y(m[0]).toFixed(2),y=e.scales.Y(m[v-1]).toFixed(2)):(x=0,y=0),a.append("line").attr("x1",e.left).attr("x2",e.left).attr("y1",x).attr("y2",y)}return a.selectAll(".mg-yax-ticks").data(m).enter().append("line").classed("mg-extended-y-ticks",e.y_extended_ticks).attr("x1",e.left).attr("x2",function(){return e.y_extended_ticks?e.width-e.right:e.left-e.yax_tick_length}).attr("y1",function(t){return e.scales.Y(t).toFixed(2)}).attr("y2",function(t){return e.scales.Y(t).toFixed(2)}),a.selectAll(".mg-yax-labels").data(m).enter().append("text").attr("x",e.left-3*e.yax_tick_length/2).attr("dx",-3).attr("y",function(t){return e.scales.Y(t).toFixed(2)}).attr("dy",".35em").attr("text-anchor","end").text(function(t){var e=h(t);return e}),e.y_rug&&n(e),this}function s(e){e.scales.Y=t.scale.ordinal().domain(e.categorical_variables).rangeRoundBands([e.height-e.bottom-e.buffer,e.top],e.padding_percentage,e.outer_padding_percentage),e.scalefns.yf=function(t){return e.scales.Y(t[e.y_accessor])};var r=et(e.target);r.selectAll(".mg-y-axis").remove();var a=r.append("g").classed("mg-y-axis",!0).classed("mg-y-axis-small",e.use_small_class);if(!e.y_axis)return this;var n=a.selectAll("text").data(e.categorical_variables).enter().append("svg:text").attr("x",e.left).attr("y",function(t){return e.scales.Y(t)+e.scales.Y.rangeBand()/2+e.buffer*e.outer_padding_percentage}).attr("dy",".35em").attr("text-anchor","end").text(String);return e.rotate_y_labels&&n.attr({dy:0,transform:function(){var r=t.select(this);return"rotate("+e.rotate_y_labels+" "+r.attr("x")+","+r.attr("y")+")"}}),this}function i(t){"use strict";var e="point"===t.chart_type?t.buffer/2:t.buffer,r=et(t.target),a=rt(t.data),n=r.selectAll("line.mg-x-rug").data(a);n.enter().append("svg:line").attr("class","mg-x-rug").attr("opacity",.3),n.exit().remove(),n.exit().remove(),n.attr("x1",t.scalefns.xf).attr("x2",t.scalefns.xf).attr("y1",t.height-t.bottom-e).attr("y2",t.height-t.bottom),t.color_accessor?(n.attr("stroke",t.scalefns.color),n.classed("mg-x-rug-mono",!1)):(n.attr("stroke",null),n.classed("mg-x-rug-mono",!0))}function l(e){"use strict";var r,a=et(e.target);e.processed||(e.processed={});for(var n=[],o=0;o180?"end":"start",transform:function(){var r=t.select(this);return"rotate("+e.rotate_x_labels+" "+r.attr("x")+","+r.attr("y")+")"}}),this}function u(e){var r,a,n,o;null!==e.color_accessor&&(null===e.color_domain?"number"===e.color_type?(r=t.min(e.data[0],function(t){return t[e.color_accessor]}),a=t.max(e.data[0],function(t){return t[e.color_accessor]}),n=[r,a]):"category"===e.color_type&&(n=t.set(e.data[0].map(function(t){return t[e.color_accessor]})).values(),n.sort()):n=e.color_domain,o=null===e.color_range?"number"===e.color_type?["blue","red"]:null:e.color_range,"number"===e.color_type?e.scales.color=t.scale.linear().domain(n).range(o).clamp(!0):(e.scales.color=null!==e.color_range?t.scale.ordinal().range(o):n.length>10?t.scale.category20():t.scale.category10(),e.scales.color.domain(n)),e.scalefns.color=function(t){return e.scales.color(t[e.color_accessor])})}function d(e){var r,a,n,o;null!==e.size_accessor&&(null===e.size_domain?(r=t.min(e.data[0],function(t){return t[e.size_accessor]}),a=t.max(e.data[0],function(t){return t[e.size_accessor]}),n=[r,a]):n=e.size_domain,o=null===e.size_range?[1,5]:e.size_range,e.scales.size=t.scale.linear().domain(n).range(o).clamp(!0),e.scalefns.size=function(t){return e.scales.size(t[e.size_accessor])})}function f(t,e){t.append("text").attr("class","label").attr("x",function(){return(e.left+e.width-e.right)/2}).attr("y",(e.height-e.bottom/2).toFixed(2)).attr("dy",".50em").attr("text-anchor","middle").text(function(t){return e.x_label})}function p(e){return function(r){if(1>r)return e.xax_units+t.round(r,e.decimals);var a=t.formatPrefix(r);return e.xax_units+a.scale(r)+a.symbol}}function h(t){var e;return e=10>t?"millis":60>t?"seconds":24>=t/3600?"less-than-a-day":96>=t/3600?"four-days":"default"}function m(t,e){return 10>e?main_time_format=MG.time_format(t,"%M:%S.%L"):60>e?main_time_format=MG.time_format(t,"%M:%S"):24>=e/3600?main_time_format=MG.time_format(t,"%H:%M"):96>=e/3600?main_time_format=MG.time_format(t,"%H:%M"):main_time_format=MG.time_format(t,"%b %d"),main_time_format}function _(e){if(e.xax_format)return e.xax_format;var r=e.processed.original_data||e.data,a=rt(r)[0][e.processed.original_x_accessor||e.x_accessor];return function(r){var n,o,s;e.time_series&&(n=(e.processed.max_x-e.processed.min_x)/1e3,s=h(n),o=m(e.utc_time,n)),e.processed.main_x_time_format=o,e.processed.x_time_frame=s;var i=(MG.time_format(e.utc_time,"%b %d"),t.formatPrefix(r));return a instanceof Date?e.processed.main_x_time_format(new Date(r)):"number"==typeof a?1>r?e.xax_units+t.round(r,e.decimals):(i=t.formatPrefix(r),e.xax_units+i.scale(r)+i.symbol):r}}function g(t,e){var r=e.scales.X.ticks(e.xax_count).length-1,a=e.scales.X.ticks(e.xax_count);"bar"===e.chart_type||e.x_extended_ticks||e.y_extended_ticks||t.append("line").attr("x1",function(){return 0===e.xax_count?e.left+e.buffer:e.axes_not_compact&&"bar"!==e.chart_type?e.left:e.scales.X(e.scales.X.ticks(e.xax_count)[0]).toFixed(2)}).attr("x2",function(){return 0===e.xax_count||e.axes_not_compact&&"bar"!==e.chart_type?e.width-e.right-e.buffer:e.scales.X(e.scales.X.ticks(e.xax_count)[r]).toFixed(2)}).attr("y1",e.height-e.bottom).attr("y2",e.height-e.bottom),t.selectAll(".mg-xax-ticks").data(a).enter().append("line").attr("x1",function(t){return e.scales.X(t).toFixed(2)}).attr("x2",function(t){return e.scales.X(t).toFixed(2)}).attr("y1",e.height-e.bottom).attr("y2",function(){return e.x_extended_ticks?e.top:e.height-e.bottom+e.xax_tick_length}).attr("class",function(){return e.x_extended_ticks?"mg-extended-x-ticks":void 0})}function v(e,r){var a=r.scales.X.ticks(r.xax_count),n=e.selectAll(".mg-xax-labels").data(a).enter().append("text").attr("x",function(t){return r.scales.X(t).toFixed(2)}).attr("y",(r.height-r.bottom+7*r.xax_tick_length/3).toFixed(2)).attr("dy",".50em").attr("text-anchor","middle");if(r.time_series&&r.european_clock?(n.append("tspan").classed("mg-european-hours",!0).text(function(e,r){var a=new Date(e);return 0===r?t.time.format("%H")(a):""}),n.append("tspan").classed("mg-european-minutes-seconds",!0).text(function(t,e){var a=new Date(t);return":"+r.processed.xax_format(a)})):n.text(function(t){return r.xax_units+r.processed.xax_format(t)}),r.time_series&&(r.show_years||r.show_secondary_x_label)){var o,s,i=r.processed.x_time_frame;switch(i){case"millis":case"seconds":o=t.time.days,s=r.european_clock?MG.time_format(r.utc_time,"%b %d"):MG.time_format(r.utc_time,"%I %p");break;case"less-than-a-day":o=t.time.days,s=MG.time_format(r.utc_time,"%b %d");break;case"four-days":o=t.time.days,s=MG.time_format(r.utc_time,"%b %d");break;default:o=t.time.years,s=MG.time_format(r.utc_time,"%Y")}var l=o(r.processed.min_x,r.processed.max_x);if(0===l.length){var c=r.scales.X.ticks(r.xax_count)[0];l=[c]}e=e.append("g").classed("mg-year-marker",!0).classed("mg-year-marker-small",r.use_small_class),"default"===i&&r.show_year_markers&&e.selectAll(".mg-year-marker").data(l).enter().append("line").attr("x1",function(t){return r.scales.X(t).toFixed(2)}).attr("x2",function(t){return r.scales.X(t).toFixed(2)}).attr("y1",r.top).attr("y2",r.height-r.bottom),e.selectAll(".mg-year-marker").data(l).enter().append("text").attr("x",function(t,e){return r.scales.X(t).toFixed(2)}).attr("y",(r.height-r.bottom+7*r.xax_tick_length/1.3).toFixed(2)).attr("dy",r.use_small_class?-3:0).attr("text-anchor","middle").text(function(t){return s(new Date(t))})}}function x(e){var r,a,n=[],o=[].concat.apply([],e.data),s=function(t){return t[e.x_accessor]};if("line"===e.chart_type||"point"===e.chart_type||"histogram"===e.chart_type?(n=t.extent(o,s),r=n[0],a=n[1]):"bar"===e.chart_type&&(r=0,a=t.max(o,function(t){var r=[t[e.x_accessor],t[e.baseline_accessor]?t[e.baseline_accessor]:0,t[e.predictor_accessor]?t[e.predictor_accessor]:0];return Math.max.apply(null,r)})),!(r!==a||e.min_x&&e.max_x)){if(r instanceof Date){var i=MG.clone(r).setDate(r.getDate()-1),l=MG.clone(r).setDate(r.getDate()+1);r=i,a=l}else"number"==typeof r?(r-=1,a+=1):"string"==typeof r&&(r=Number(r)-1,a=Number(a)+1);e.xax_count=2}r=e.min_x||r,a=e.max_x||a,e.x_axis_negative=!1,e.processed.min_x=r,e.processed.max_x=a,y(e),MG.call_hook("x_axis.process_min_max",e,r,a),e.time_series||e.processed.min_x<0&&(e.processed.min_x=e.processed.min_x-e.processed.max_x*(e.inflator-1),e.x_axis_negative=!0),"bar"===e.chart_type?e.additional_buffer=5*e.buffer:e.additional_buffer=0}function y(t){var e=t.chart_type;t.processed.xax_format||(t.xax_format?t.processed.xax_format=t.xax_format:"line"===e||"point"===e||"histogram"===e?t.processed.xax_format=_(t):"bar"===e&&(t.processed.xax_format=p(t)))}function b(e){"use strict";function r(){var t=rt(e.processed.original_data||e.data)[0];return t[e.processed.original_x_accessor||e.x_accessor]instanceof Date}var n={target:null,title:null,description:null};e=arguments[0],e||(e={}),e.processed||(e.processed={}),e=ct(e,n);var o=t.select(e.target);if(o.empty())return void console.warn('The specified target element "'+e.target+'" could not be found in the page. The chart will not be rendered.');var s=o.selectAll("svg");e.time_series=r();var i=e.width,l=e.height;e.full_width&&(i=it(e.target)),e.full_height&&(l=lt(e.target)),"bar"===e.chart_type&&null===l&&(l=e.height=e.data[0].length*e.bar_height+e.top+e.bottom),(!s.selectAll(".mg-main-line").empty()&&"line"!==e.chart_type||!s.selectAll(".mg-points").empty()&&"point"!==e.chart_type||!s.selectAll(".mg-histogram").empty()&&"histogram"!==e.chart_type||!s.selectAll(".mg-barplot").empty()&&"bar"!==e.chart_type)&&s.remove(),et(e.target).empty()&&(s=t.select(e.target).append("svg").classed("linked",e.linked).attr("width",i).attr("height",l)),e.width=i,e.height=l,s.selectAll(".mg-clip-path").remove(),s.append("defs").attr("class","mg-clip-path").append("clipPath").attr("id","mg-plot-window-"+nt(e.target)).append("svg:rect").attr("x",e.left).attr("y",e.top).attr("width",e.width-e.left-e.right-e.buffer).attr("height",e.height-e.top-e.bottom-e.buffer+1),i!==Number(s.attr("width"))&&s.attr("width",i),l!==Number(s.attr("height"))&&s.attr("height",l),s.attr("viewBox","0 0 "+i+" "+l),(e.full_width||e.full_height)&&s.attr("preserveAspectRatio","xMinYMin meet"),s.classed("mg-missing",!1),s.selectAll(".mg-missing-text").remove(),s.selectAll(".mg-missing-pane").remove(),a(e),e.use_small_class=e.height-e.top-e.bottom-e.buffer<=e.small_height_threshold&&e.width-e.left-e.right-2*e.buffer<=e.small_width_threshold||e.small_text;var c=0;if(s.selectAll(".mg-main-line")[0].length>=e.data.length)if(e.custom_line_color_map.length>0){var u=function(t){for(var e=new Array(t),r=0;rf;c--)s.selectAll(".mg-main-line.mg-line"+c+"-color").remove()}return this}function w(e){"use strict";function r(t){return e.scales.X(t[e.x_accessor])}function a(t){return r(t).toFixed(2)}function n(t){return e.scales.X(t[e.x_accessor])>e.buffer+e.left&&e.scales.X(t[e.x_accessor])0&&t[0][e.x_accessor]instanceof Date}))>0;if(e.missing_is_hidden&&(e.interpolate="linear"),(e.missing_is_zero||e.missing_is_hidden)&&"line"===e.chart_type&&r)for(var n=0;n=d;d.setDate(d.getDate()+1)){var f={};d.setHours(0,0,0,0),Date.parse(d)===Date.parse(new Date(l))&&i.push(MG.clone(e.data[n][0]));var p=null;e.data[n].forEach(function(t,r){return Date.parse(t[e.x_accessor])===Date.parse(new Date(d))?(p=t,!1):void 0}),p?p[e.missing_is_hidden_accessor]||null==p[e.y_accessor]?(p._missing=!0,i.push(p)):i.push(p):(f[e.x_accessor]=new Date(d),f[e.y_accessor]=0,f._missing=!0,i.push(f))}else for(var m=0;ms;s+=1){i=t.zip(c,r).map(function(t){return Math.abs(t[1]-t[0])});var u=t.quantile(i.sort(),.5);i=i.map(function(t){return P(t/(6*u))}),o=N(e,r,a,n,i),l=o.x,c=o.y}return t.zip(l,c).map(function(t){var e={};return e.x=t[0],e.y=t[1],e})}function X(t,e,r,a){for(var n=[],o=0;o=0&&1>=t?Math.pow(1-Math.pow(t,e),e):0}function P(t){return z(t,2)}function $(t){return z(t,3)}function S(e){var r=t.sum(e.map(function(t){return t.w}));return{xbar:t.sum(e.map(function(t){return t.w*t.x}))/r,ybar:t.sum(e.map(function(t){return t.w*t.y}))/r}}function j(e,r,a){var n=t.sum(e.map(function(t){return Math.pow(t.w,2)*(t.x-r)*(t.y-a)})),o=t.sum(e.map(function(t){return Math.pow(t.w,2)*Math.pow(t.x-r,2)}));return n/o}function L(t){var e,r,a=S(t);r=a.xbar,e=a.ybar;var n=j(t,r,e);return{beta:n,xbar:r,ybar:e,x0:e-n*r}}function N(e,r,a,n,o){var s=Math.floor(e.length*a),i=e.slice();i.sort(function(t,e){return e>t?-1:t>e?1:0});for(var l,c,u,d,f,p=t.quantile(i,.98),h=t.quantile(i,.02),m=t.zip(e,r,o).sort(),_=Math.abs(p-h)/n,g=h,v=p,x=t.range(g,v,_),y=[],b=0;bt?"M"+u.map(function(e){return e(t)}).join("L"):e}}}function R(t){return"[object Array]"===Object.prototype.toString.call(t)}function q(t){return"[object Function]"===Object.prototype.toString.call(t)}function H(t){return R(t)&&0==t.length}function U(t){return"[object Object]"===Object.prototype.toString.call(t)}function Q(e){var r=e.map(function(t){return R(t)===!0&&t.length>0});return t.sum(r)===e.length}function Z(e){var r=e.map(function(t){return U(t)===!0});return t.sum(r)===e.length}function V(t){return H(t)||Z(t)}function W(e,r){if(e&&1!=e.length)for(var a=0;a=a.top?a.bottom-r.top:!1}function tt(t,e){for(var r=t.getBoundingClientRect(),a=0;ar.right||n.rightr&&(t.textContent=e.slice(0,--n)+"...",a=t.getBBox(),"..."!==t.textContent););}function pt(e,r,a,n){e.each(function(){for(var e,o=t.select(this),s=o.text().split(a||/\s+/).reverse(),i=[],l=0,c=1.1,u=(o.attr("y"),0),d=o.text(null).append("tspan").attr("x",0).attr("y",u+"em").attr(n||{});e=s.pop();)i.push(e),d.text(i.join(" ")),(null===r||d.node().getComputedTextLength()>r)&&(i.pop(),d.text(i.join(" ")),i=[e],d=o.append("tspan").attr("x",0).attr("y",++l*c+u+"em").attr(n||{}).text(e))})}function ht(e){console.log("ERROR : ",e.target," : ",e.error),t.select(e.target).select(".mg-chart-title").append("i").attr("class","fa fa-x fa-exclamation-circle warning")}window.MG={version:"2.6.0"},MG.register=r,MG._hooks={},MG.add_hook=function(t,e,r){var a;MG._hooks[t]||(MG._hooks[t]=[]),a=MG._hooks[t];var n=a.filter(function(t){return t.func===e}).length>0;if(n)throw"That function is already registered.";a.push({func:e,context:r})},MG.call_hook=function(t){var e,r=MG._hooks[t],a=[].slice.apply(arguments,[1]);return r&&r.forEach(function(t){if(t.func){var r=e||a;r&&r.constructor!==Array&&(r=[r]),r=[].concat.apply([],r),e=t.func.apply(t.context,r)}}),e||a},MG.globals={},MG.deprecations={rollover_callback:{replacement:"mouseover",version:"2.0"},rollout_callback:{replacement:"mouseout",version:"2.0"},show_years:{replacement:"show_secondary_x_label",version:"2.1"},xax_start_at_min:{replacement:"axes_not_compact",version:"2.7"}},MG.globals.link=!1,MG.globals.version="1.1",MG.charts={},MG.data_graphic=function(t){"use strict";var e={missing_is_zero:!1,missing_is_hidden:!1,missing_is_hidden_accessor:null,legend:"",legend_target:"",error:"",animate_on_load:!1,top:65,title_y_position:10,bottom:30,right:10,left:50,buffer:8,width:350,height:220,full_width:!1,full_height:!1,small_height_threshold:120,small_width_threshold:160,small_text:!1,xax_count:6,xax_tick_length:5,axes_not_compact:!0,yax_count:5,yax_tick_length:5,x_extended_ticks:!1,y_extended_ticks:!1,y_scale_type:"linear",max_x:null,max_y:null,min_x:null,min_y:null,min_y_from_data:!1,point_size:2.5,x_accessor:"date",xax_units:"",x_label:"",x_sort:!0,x_axis:!0,y_axis:!0,y_accessor:"value",y_label:"",yax_units:"",x_rug:!1,y_rug:!1,x_rollover_format:null,y_rollover_format:null,transition_on_update:!0,mouseover:null,show_rollover_text:!0,show_confidence_band:null,xax_format:null,area:!0,chart_type:"line",data:[],decimals:2,format:"count",inflator:10/9,linked:!1,linked_format:"%Y-%m-%d",list:!1,baselines:null,markers:null,scalefns:{},scales:{},utc_time:!1,european_clock:!1,show_year_markers:!1,show_secondary_x_label:!0,target:"#viz",interpolate:"cardinal",interpolate_tension:.7,custom_line_color_map:[],colors:null,max_data_size:null,aggregate_rollover:!1,show_tooltips:!0};MG.call_hook("global.defaults",e),t||(t={});var r=MG.charts[t.chart_type||e.chart_type];ct(t,r.defaults,e),t.list&&(t.x_accessor=0,t.y_accessor=1);for(var a in MG.deprecations)if(t.hasOwnProperty(a)){var n=MG.deprecations[a],o="Use of `args."+a+"` has been deprecated",s=n.replacement;if(s&&(t[s]?o+=". The replacement - `args."+s+"` - has already been defined. This definition will be discarded.":t[s]=t[a]),n.warned)continue;n.warned=!0,s&&(o+=" in favor of `args."+s+"`"),dt(o,n.version)}return MG.call_hook("global.before_init",t),new r.descriptor(t),t.data},"undefined"!=typeof jQuery&&(+function(t){"use strict";function e(e){return this.each(function(){var a=t(this),n=a.data("bs.tooltip"),o="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||a.data("bs.tooltip",n=new r(this,o)),"string"==typeof e&&n[e]())})}var r=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null, +this.inState=null,this.init("tooltip",t,e)};r.VERSION="3.3.5",r.TRANSITION_DURATION=150,r.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},r.prototype.init=function(e,r,a){if(this.enabled=!0,this.type=e,this.$element=t(r),this.options=this.getOptions(a),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),o=n.length;o--;){var s=n[o];if("click"==s)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=s){var i="hover"==s?"mouseenter":"focusin",l="hover"==s?"mouseleave":"focusout";this.$element.on(i+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},r.prototype.getDefaults=function(){return r.DEFAULTS},r.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},r.prototype.getDelegateOptions=function(){var e={},r=this.getDefaults();return this._options&&t.each(this._options,function(t,a){r[t]!=a&&(e[t]=a)}),e},r.prototype.enter=function(e){var r=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return r||(r=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,r)),e instanceof t.Event&&(r.inState["focusin"==e.type?"focus":"hover"]=!0),r.tip().hasClass("in")||"in"==r.hoverState?void(r.hoverState="in"):(clearTimeout(r.timeout),r.hoverState="in",r.options.delay&&r.options.delay.show?void(r.timeout=setTimeout(function(){"in"==r.hoverState&&r.show()},r.options.delay.show)):r.show())},r.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},r.prototype.leave=function(e){var r=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return r||(r=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,r)),e instanceof t.Event&&(r.inState["focusout"==e.type?"focus":"hover"]=!1),r.isInStateTrue()?void 0:(clearTimeout(r.timeout),r.hoverState="out",r.options.delay&&r.options.delay.hide?void(r.timeout=setTimeout(function(){"out"==r.hoverState&&r.hide()},r.options.delay.hide)):r.hide())},r.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var a=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!a)return;var n=this,o=this.tip(),s=this.getUID(this.type);this.setContent(),o.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&o.addClass("fade");var i="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,c=l.test(i);c&&(i=i.replace(l,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(i).data("bs."+this.type,this),this.options.container?o.appendTo(this.options.container):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),d=o[0].offsetWidth,f=o[0].offsetHeight;if(c){var p=i,h=this.getPosition(this.$viewport);i="bottom"==i&&u.bottom+f>h.bottom?"top":"top"==i&&u.top-fh.width?"left":"left"==i&&u.left-ds.top+s.height&&(n.top=s.top+s.height-l)}else{var c=e.left-o,u=e.left+o+r;cs.right&&(n.left=s.left+s.width-u)}return n},r.prototype.getTitle=function(){var t,e=this.$element,r=this.options;return t=e.attr("data-original-title")||("function"==typeof r.title?r.title.call(e[0]):r.title)},r.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},r.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},r.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},r.prototype.enable=function(){this.enabled=!0},r.prototype.disable=function(){this.enabled=!1},r.prototype.toggleEnabled=function(){this.enabled=!this.enabled},r.prototype.toggle=function(e){var r=this;e&&(r=t(e.currentTarget).data("bs."+this.type),r||(r=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,r))),e?(r.inState.click=!r.inState.click,r.isInStateTrue()?r.enter(r):r.leave(r)):r.tip().hasClass("in")?r.leave(r):r.enter(r)},r.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null})};var a=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=r,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=a,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var a=t(this),n=a.data("bs.popover"),o="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||a.data("bs.popover",n=new r(this,o)),"string"==typeof e&&n[e]())})}var r=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");r.VERSION="3.3.5",r.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),r.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),r.prototype.constructor=r,r.prototype.getDefaults=function(){return r.DEFAULTS},r.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),r=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof r?"html":"append":"text"](r),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},r.prototype.hasContent=function(){return this.getTitle()||this.getContent()},r.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},r.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var a=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=r,t.fn.popover.noConflict=function(){return t.fn.popover=a,this}}(jQuery)),MG.chart_title=a,MG.y_rug=n,MG.y_axis=o,MG.y_axis_categorical=s,MG.x_rug=i,MG.x_axis=l,MG.x_axis_categorical=c,MG.init=b,MG.markers=w,"undefined"!=typeof jQuery&&+function(t){"use strict";function e(e){e&&3===e.which||(t(n).remove(),t(o).each(function(){var a=t(this),n=r(a),o={relatedTarget:this};n.hasClass("open")&&(n.trigger(e=t.Event("hide.bs.dropdown",o)),e.isDefaultPrevented()||(a.attr("aria-expanded","false"),n.removeClass("open").trigger("hidden.bs.dropdown",o)))}))}function r(e){var r=e.attr("data-target");r||(r=e.attr("href"),r=r&&/#[A-Za-z]/.test(r)&&r.replace(/.*(?=#[^\s]*$)/,""));var a=r&&t(r);return a&&a.length?a:e.parent()}function a(e){return this.each(function(){var r=t(this),a=r.data("bs.dropdown");a||r.data("bs.dropdown",a=new s(this)),"string"==typeof e&&a[e].call(r)})}if("function"==typeof t().dropdown)return!0;var n=".dropdown-backdrop",o='[data-toggle="dropdown"]',s=function(e){t(e).on("click.bs.dropdown",this.toggle)};s.VERSION="3.3.1",s.prototype.toggle=function(a){var n=t(this);if(!n.is(".disabled, :disabled")){var o=r(n),s=o.hasClass("open");if(e(),!s){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t('");var d=function(){var t,r=e(this).data("key"),a=e(this).data("feature");return e("."+a+"-btns button.btn span.title").html(r),i.hasOwnProperty(a)?(t=i[a],s[t](r)):o(a,r),!1};for(var f in this.feature_set){for(a=this.feature_set[f],e(this.target+" div.segments").append('
"),l=0;l'+a[l]+"");e("."+this._strip_punctuation(f)+"-btns .dropdown-menu li a").on("click",d)}return this},this},function(){"use strict";function e(e){this.init=function(t){return this.args=t,t.data&&0!==t.data.length?(A(t),G(t),b(t),l(t),o(t),this.markers(),this.mainPlot(),this.rollover(),this.windowListeners(),MG.call_hook("line.after_init",this),this):(t.error="No data was supplied",ht(t),this)},this.mainPlot=function(){var r=et(e.target);r.selectAll(".mg-line-legend").remove();var a,n;e.legend&&(a=r.append("g").attr("class","mg-line-legend"));var o=0,s=e.transition_on_update?1e3:0,i=function(t){return t[e.y_accessor]},l=t.svg.line().x(e.scalefns.xf).y(e.scalefns.yf).interpolate(e.interpolate).tension(e.interpolate_tension);e.missing_is_zero||(l=l.defined(function(t){return(void 0==t._missing||1!=t._missing)&&null!=t[e.y_accessor]}));var c,u=t.svg.line().defined(function(t){return(void 0==t._missing||1!=t._missing)&&null!=t[e.y_accessor]}).x(e.scalefns.xf).y(function(){return e.scales.Y(o)}).interpolate(e.interpolate).tension(e.interpolate_tension),d=t.svg.area().defined(l.defined()).x(e.scalefns.xf).y0(e.scales.Y.range()[0]).y1(e.scalefns.yf).interpolate(e.interpolate).tension(e.interpolate_tension),f=r.selectAll(".mg-confidence-band");e.show_confidence_band&&(c=t.svg.area().defined(l.defined()).x(e.scalefns.xf).y0(function(t){var r=e.show_confidence_band[0];return e.scales.Y(t[r])}).y1(function(t){var r=e.show_confidence_band[1];return e.scales.Y(t[r])}).interpolate(e.interpolate).tension(e.interpolate_tension));var p,h,m="",_=MG.call_hook("line.before_all_series",[e]);if(_!==!1)for(var g=e.data.length-1;g>=0;g--){p=e.data[g],MG.call_hook("line.before_each_series",[p,e]);var v=g+1;if(e.custom_line_color_map.length>0&&(v=e.custom_line_color_map[g]),e.data[g].line_id=v,0!==p.length){e.show_confidence_band&&(h=f.empty()?r.append("path").attr("class","mg-confidence-band"):f.transition().duration(function(){return e.transition_on_update?1e3:0}),h.attr("d",c(e.data[g])).attr("clip-path","url(#mg-plot-window-"+nt(e.target)+")"));var x=r.selectAll(".mg-main-area.mg-area"+v),y=e.area&&!e.use_data_y_min&&e.data.length<=1;y?x.empty()?r.append("path").classed("mg-main-area",!0).classed("mg-area"+v,!0).classed("mg-area"+v+"-color",null===e.colors).attr("d",d(e.data[g])).attr("fill",null===e.colors?"":e.colors[v-1]).attr("clip-path","url(#mg-plot-window-"+nt(e.target)+")"):(r.node().appendChild(x.node()),x.transition().duration(s).attr("d",d(e.data[g])).attr("clip-path","url(#mg-plot-window-"+nt(e.target)+")")):x.empty()||x.remove();var b=r.select("path.mg-main-line.mg-line"+v+"-color");if(b.empty()){var w=r.append("path").attr("class","mg-main-line");e.colors&&e.colors.constructor===Array?(w.attr("stroke",e.colors[g]),e.colors.length— "+n+"  "+m:"— "+n+"  "+m;else{var M=p[p.length-1],A=a.append("svg:text").attr("x",e.scalefns.xf(M)).attr("dx",e.buffer).attr("y",e.scalefns.yf(M)).attr("dy",".35em").attr("font-size",10).attr("font-weight","300").text(n);e.colors&&e.colors.constructor===Array?e.colors.length0?e.data[a][i].line_id=e.custom_line_color_map[a]:e.data[a][i].line_id=s;s++}var l,c;if(e.data.length>1&&!e.aggregate_rollover){var u=t.geom.voronoi().x(function(t){return e.scales.X(t[e.x_accessor]).toFixed(2)}).y(function(t){return e.scales.Y(t[e.y_accessor]).toFixed(2)}).clipExtent([[e.buffer,e.buffer+e.title_y_position],[e.width-e.buffer,e.height-e.buffer]]);r=n.append("g").attr("class","mg-voronoi"),l=t.nest().key(function(t){return e.scales.X(t[e.x_accessor])+","+e.scales.Y(t[e.y_accessor])}).rollup(function(t){return t[0]}).entries(t.merge(e.data.map(function(t){return t}))).map(function(t){return t.values}),r.selectAll("path").data(u(l)).enter().append("path").filter(function(t){return void 0!==t&&t.length>0}).attr("d",function(t){return"M"+t.join("L")+"Z"}).datum(function(t){return t.point}).attr("class",function(t){var r;if(e.linked){var n=t[e.x_accessor],o=MG.time_format(e.utc_time,e.linked_format),s="number"==typeof n?a:o(n);return r="roll_"+s+" mg-line"+t.line_id,null===e.color&&(r+=" mg-line"+t.line_id+"-color"),r}return r="mg-line"+t.line_id,null===e.color&&(r+=" mg-line"+t.line_id+"-color"),r}).on("mouseover",this.rolloverOn(e)).on("mouseout",this.rolloverOff(e)).on("mousemove",this.rolloverMove(e))}else e.data.length>1&&e.aggregate_rollover?(l=t.nest().key(function(t){return t[e.x_accessor]}).entries(t.merge(e.data)).sort(function(t,e){return new Date(t.key)-new Date(e.key)}),l.forEach(function(t){var r=t.values[0];t.key=r[e.x_accessor]}),c=l.map(function(t){return e.scales.X(t.key)}),r=n.append("g").attr("class","mg-rollover-rect"),r.selectAll(".mg-rollover-rects").data(l).enter().append("rect").attr("x",function(t,r){return 1===c.length?e.left+e.buffer:0===r?c[r].toFixed(2):((c[r-1]+c[r])/2).toFixed(2)}).attr("y",e.top).attr("width",function(t,r){return 1===c.length?e.width-e.right-e.buffer:0===r?((c[r+1]-c[r])/2).toFixed(2):r==c.length-1?((c[r]-c[r-1])/2).toFixed(2):((c[r+1]-c[r-1])/2).toFixed(2)}).attr("class",function(t){var r=t.values.map(function(r){var a="mg-line"+t.line_id;return null===e.colors&&(a+=" mg-line"+r.line_id+"-color"),a}).join(" ");if(e.linked&&t.values.length>0){var n=MG.time_format(e.utc_time,e.linked_format),o=t.values[0],s=o[e.x_accessor],i="number"==typeof s?a:n(s);return r+" roll_"+i}return r}).attr("height",e.height-e.bottom-e.top-e.buffer).attr("opacity",0).on("mouseover",this.rolloverOn(e)).on("mouseout",this.rolloverOff(e)).on("mousemove",this.rolloverMove(e))):(s=1,e.custom_line_color_map.length>0&&(s=e.custom_line_color_map[0]),r=n.append("g").attr("class","mg-rollover-rect"),c=e.data[0].map(e.scalefns.xf),r.selectAll(".mg-rollover-rects").data(e.data[0]).enter().append("rect").attr("class",function(t,r){if(e.linked){var a=t[e.x_accessor],n=MG.time_format(e.utc_time,e.linked_format),o="number"==typeof a?r:n(a);return"mg-line"+s+"-color roll_"+o+" mg-line"+t.line_id}return"mg-line"+s+"-color mg-line"+t.line_id}).attr("x",function(t,r){return 1===c.length?e.left+e.buffer:0===r?c[r].toFixed(2):((c[r-1]+c[r])/2).toFixed(2)}).attr("y",function(t,r){return e.data.length>1?e.scalefns.yf(t)-6:e.top}).attr("width",function(t,r){return 1===c.length?e.width-e.right-e.buffer:0===r?((c[r+1]-c[r])/2).toFixed(2):r===c.length-1?((c[r]-c[r-1])/2).toFixed(2):((c[r+1]-c[r-1])/2).toFixed(2)}).attr("height",function(t,r){return e.data.length>1?12:e.height-e.bottom-e.top-e.buffer}).attr("opacity",0).on("mouseover",this.rolloverOn(e)).on("mouseout",this.rolloverOff(e)).on("mousemove",this.rolloverMove(e)));if(1==e.data.length&&1==e.data[0].length)n.select(".mg-rollover-rect rect").on("mouseover")(e.data[0][0],0);else if(e.data.length>1&&!e.aggregate_rollover)for(var a=0;a0&&void 0!==e.custom_line_color_map[a]&&(i=e.custom_line_color_map[a]),1!=e.data[a].length||n.selectAll(".mg-voronoi .mg-line"+i).empty()||(n.selectAll(".mg-voronoi .mg-line"+i).on("mouseover")(e.data[a][0],0),n.selectAll(".mg-voronoi .mg-line"+i).on("mouseout")(e.data[a][0],0))}else if(e.data.length>1&&e.aggregate_rollover){var d=n.selectAll(".mg-rollover-rect rect");d.on("mouseover")(d[0][0].__data__,0)}return MG.call_hook("line.after_rollover",e),this},this.rolloverOn=function(e){var r,a=et(e.target);switch(e.processed.x_time_frame){case"millis":r=MG.time_format(e.utc_time,"%b %e, %Y %H:%M:%S.%L");break;case"seconds":r=MG.time_format(e.utc_time,"%b %e, %Y %H:%M:%S");break;case"less-than-a-day":r=MG.time_format(e.utc_time,"%b %e, %Y %I:%M%p");break;case"four-days":r=MG.time_format(e.utc_time,"%b %e, %Y %I:%M%p");break;default:r=MG.time_format(e.utc_time,"%b %e, %Y")}return function(n,o){if(e.aggregate_rollover&&e.data.length>1)a.selectAll("circle.mg-line-rollover-circle").style("opacity",0),n.values.forEach(function(t){if(t[e.x_accessor]>=e.processed.min_x&&t[e.x_accessor]<=e.processed.max_x&&t[e.y_accessor]>=e.processed.min_y&&t[e.y_accessor]<=e.processed.max_y){a.select("circle.mg-line-rollover-circle.mg-line"+t.line_id).attr({cx:function(){return e.scales.X(t[e.x_accessor]).toFixed(2)},cy:function(){return e.scales.Y(t[e.y_accessor]).toFixed(2)},r:e.point_size}).style("opacity",1)}});else{if(e.missing_is_hidden&&n._missing||null==n[e.y_accessor])return;if(n[e.x_accessor]>=e.processed.min_x&&n[e.x_accessor]<=e.processed.max_x&&n[e.y_accessor]>=e.processed.min_y&&n[e.y_accessor]<=e.processed.max_y){a.selectAll("circle.mg-line-rollover-circle.mg-line"+n.line_id).classed("mg-line-rollover-circle",!0).attr("cx",function(){return e.scales.X(n[e.x_accessor]).toFixed(2)}).attr("cy",function(){return e.scales.Y(n[e.y_accessor]).toFixed(2)}).attr("r",e.point_size).style("opacity",1)}}if(e.linked&&!MG.globals.link&&(MG.globals.link=!0,!e.aggregate_rollover||void 0!==n.value||n.values.length>0)){var s=n.values?n.values[0]:n,i=MG.time_format(e.utc_time,e.linked_format),l=s[e.x_accessor],c="number"==typeof l?o:i(l);t.selectAll(".mg-line"+s.line_id+".roll_"+c).each(function(e){t.select(this).on("mouseover")(e,o)})}a.selectAll("text").filter(function(t,e){return n===t}).attr("opacity",.3);var u=I(e);if(e.show_rollover_text){var d=a.select(".mg-active-datapoint"),f=0,p=1.1;d.select("*").remove();var h,m,_=function(t,e,r,a){var n;return n="string"==typeof t?MG.time_format(a,t)(e[r]):"function"==typeof t?t(e):e[r]},g=function(e,r,a){var n;return n="string"==typeof e?t.format(e)(r[a]):"function"==typeof e?e(r):r[a]};if(m=null!=e.y_rollover_format?e.aggregate_rollover?"":g(e.y_rollover_format,n,e.y_accessor):e.time_series?e.aggregate_rollover?"":e.yax_units+u(n[e.y_accessor]):e.y_accessor+": "+e.yax_units+u(n[e.y_accessor]),null!=e.x_rollover_format)h=e.time_series?e.aggregate_rollover?_(e.x_rollover_format,n,"key",e.utc):_(e.x_rollover_format,n,e.x_accessor,e.utc):g(e.x_rollover_format,n,e.x_accessor);else if(e.time_series){if(e.aggregate_rollover&&e.data.length>1)var v=new Date(n.key);else{var v=new Date(+n[e.x_accessor]);v.setDate(v.getDate())}h=r(v)+" "}else h=e.x_accessor+": "+n[e.x_accessor]+", ";if(e.aggregate_rollover&&e.data.length>1){if(e.time_series){d.append("tspan").text(h.trim()),f=1;n.values.forEach(function(t){m=null!=e.y_rollover_format?g(e.y_rollover_format,t,e.y_accessor):u(t[e.y_accessor]);var r=d.append("tspan").attr({x:0,y:f*p+"em"}).text(m);d.append("tspan").attr({x:-r.node().getComputedTextLength(),y:f*p+"em"}).text("— ").classed("mg-hover-line"+t.line_id+"-color",null===e.colors).attr("fill",null===e.colors?"":e.colors[t.line_id-1]).style("font-weight","bold"),f++}),d.append("tspan").attr("x",0).attr("y",f*p+"em").text(" ")}else n.values.forEach(function(t){m=null!=e.y_rollover_format?g(e.y_rollover_format,t,e.y_accessor):e.yax_units+u(t[e.y_accessor]);var r=d.append("tspan").attr({x:0,y:f*p+"em"}).text(h+" "+m);d.append("tspan").attr({x:-r.node().getComputedTextLength(),y:f*p+"em"}).text("— ").classed("mg-hover-line"+t.line_id+"-color",!0).style("font-weight","bold"),f++});d.append("tspan").attr("x",0).attr("y",f*p+"em").text(" ")}else e.time_series?(d.select("*").remove(),d.append("tspan").classed("mg-x-rollover-text",!0).text(h),d.append("tspan").classed("mg-y-rollover-text",!0).text(m)):(d.append("tspan").text(h),d.append("tspan").text(m))}e.mouseover&&e.mouseover(n,o)}},this.rolloverOff=function(e){var r=et(e.target);return function(a,n){if(e.linked&&MG.globals.link){MG.globals.link=!1;var o=MG.time_format(e.utc_time,e.linked_format),s=a.values?a.values:[a];s.forEach(function(r){var a=r[e.x_accessor],s="number"==typeof a?n:o(a);t.selectAll(".roll_"+s).each(function(e){t.select(this).on("mouseout")(e)})})}e.aggregate_rollover?r.selectAll("circle.mg-line-rollover-circle").style("opacity",function(){return 0}):r.selectAll("circle.mg-line-rollover-circle.mg-line"+a.line_id).style("opacity",function(){var t=a.line_id-1;return e.custom_line_color_map.length>0&&void 0!==e.custom_line_color_map.indexOf(a.line_id)&&(t=e.custom_line_color_map.indexOf(a.line_id)),1==e.data[t].length?1:0}),r.select(".mg-active-datapoint").text(""),e.mouseout&&e.mouseout(a,n)}},this.rolloverMove=function(t){return function(e,r){t.mousemove&&t.mousemove(e,r)}},this.windowListeners=function(){return k(this.args),this},this.init(e)}MG.register("line",e)}.call(this),function(){"use strict";function r(r){this.init=function(t){return this.args=t,A(t),D(t),b(t),l(t),o(t),this.mainPlot(),this.markers(),this.rollover(),this.windowListeners(),this},this.mainPlot=function(){var t=et(r.target);t.selectAll(".mg-histogram").remove();var e=t.append("g").attr("class","mg-histogram"),a=e.selectAll(".mg-bar").data(r.data[0]).enter().append("g").attr("class","mg-bar").attr("transform",function(t){return"translate("+r.scales.X(t[r.x_accessor]).toFixed(2)+","+r.scales.Y(t[r.y_accessor]).toFixed(2)+")"});return a.append("rect").attr("x",1).attr("width",function(t,e){return 1===r.data[0].length?(r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(2):(r.scalefns.xf(r.data[0][1])-r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(2)}).attr("height",function(t){return 0===t[r.y_accessor]?0:(r.height-r.bottom-r.buffer-r.scales.Y(t[r.y_accessor])).toFixed(2)}),this},this.markers=function(){return w(r),this},this.rollover=function(){var t=et(r.target);e(e(r.target).find("svg").get(0));t.selectAll(".mg-rollover-rect").remove(),t.selectAll(".mg-active-datapoint").remove(),t.append("text").attr("class","mg-active-datapoint").attr("xml:space","preserve").attr("x",r.width-r.right).attr("y",.75*r.top).attr("text-anchor","end");var a=t.append("g").attr("class","mg-rollover-rect"),n=a.selectAll(".mg-bar").data(r.data[0]).enter().append("g").attr("class",function(t,e){return r.linked?"mg-rollover-rects roll_"+e:"mg-rollover-rects"}).attr("transform",function(t){return"translate("+r.scales.X(t[r.x_accessor])+",0)"});return n.append("rect").attr("x",1).attr("y",r.buffer+r.title_y_position).attr("width",function(t,e){return 1===r.data[0].length?(r.scalefns.xf(r.data[0][0])-r.bar_margin).toFixed(2):e!==r.data[0].length-1?(r.scalefns.xf(r.data[0][e+1])-r.scalefns.xf(t)).toFixed(2):(r.scalefns.xf(r.data[0][1])-r.scalefns.xf(r.data[0][0])).toFixed(2)}).attr("height",function(t){return r.height}).attr("opacity",0).on("mouseover",this.rolloverOn(r)).on("mouseout",this.rolloverOff(r)).on("mousemove",this.rolloverMove(r)),this},this.rolloverOn=function(e){var r=et(e.target);return function(a,n){r.selectAll("text").filter(function(t,e){return a===t}).attr("opacity",.3);var o=e.processed.xax_format||MG.time_format(e.utc_time,"%b %e, %Y"),s=I(e);r.selectAll(".mg-bar rect").filter(function(t,e){return e===n}).classed("active",!0),e.linked&&!MG.globals.link&&(MG.globals.link=!0,t.selectAll(".mg-rollover-rects.roll_"+n+" rect").each(function(e){t.select(this).on("mouseover")(e,n)})),e.show_rollover_text&&r.select(".mg-active-datapoint").text(function(){if(e.time_series){var t=new Date(+a[e.x_accessor]); return t.setDate(t.getDate()),o(t)+" "+e.yax_units+s(a[e.y_accessor])}return e.x_accessor+": "+s(a[e.x_accessor])+", "+e.y_accessor+": "+e.yax_units+s(a[e.y_accessor])}),e.mouseover&&e.mouseover(a,n)}},this.rolloverOff=function(e){var r=et(e.target);return function(a,n){e.linked&&MG.globals.link&&(MG.globals.link=!1,t.selectAll(".mg-rollover-rects.roll_"+n+" rect").each(function(e){t.select(this).on("mouseout")(e,n)})),r.selectAll(".mg-bar rect").classed("active",!1),r.select(".mg-active-datapoint").text(""),e.mouseout&&e.mouseout(a,n)}},this.rolloverMove=function(t){return function(e,r){t.mousemove&&t.mousemove(e,r)}},this.windowListeners=function(){return k(this.args),this},this.init(r)}var a={mouseover:function(e,r){t.select("#histogram svg .mg-active-datapoint").text("Frequency Count: "+e.y)},binned:!1,bins:null,processed_x_accessor:"x",processed_y_accessor:"y",processed_dx_accessor:"dx",bar_margin:1};MG.register("histogram",r,a)}.call(this),function(){"use strict";function e(e){this.init=function(t){return this.args=t,A(t),O(t),b(t),l(t),o(t),this.mainPlot(),this.markers(),this.rollover(),this.windowListeners(),this},this.markers=function(){return w(e),e.least_squares&&Y(e),this},this.mainPlot=function(){var t,r=et(e.target);r.selectAll(".mg-points").remove(),t=r.append("g").classed("mg-points",!0);var a=t.selectAll("circle").data(e.data[0]).enter().append("svg:circle").attr("class",function(t,e){return"path-"+e}).attr("cx",e.scalefns.xf).attr("cy",e.scalefns.yf);return null!==e.color_accessor?(a.attr("fill",e.scalefns.color),a.attr("stroke",e.scalefns.color)):a.classed("mg-points-mono",!0),null!==e.size_accessor?a.attr("r",e.scalefns.size):a.attr("r",e.point_size),this},this.rollover=function(){var r=et(e.target);r.selectAll(".mg-voronoi").remove(),r.selectAll(".mg-active-datapoint").remove(),r.append("text").attr("class","mg-active-datapoint").attr("xml:space","preserve").attr("x",e.width-e.right).attr("y",.75*e.top).attr("text-anchor","end");var a=t.geom.voronoi().x(e.scalefns.xf).y(e.scalefns.yf).clipExtent([[e.buffer,e.buffer+e.title_y_position],[e.width-e.buffer,e.height-e.buffer]]),n=r.append("g").attr("class","mg-voronoi");return n.selectAll("path").data(a(e.data[0])).enter().append("path").attr("d",function(t){return void 0!==t?"M"+t.join(",")+"Z":void 0}).attr("class",function(t,e){return"path-"+e}).style("fill-opacity",0).on("mouseover",this.rolloverOn(e)).on("mouseout",this.rolloverOff(e)).on("mousemove",this.rolloverMove(e)),this},this.rolloverOn=function(e){var r=et(e.target);return function(a,n){r.selectAll(".mg-points circle").classed("selected",!1);var o=r.selectAll(".mg-points circle.path-"+n).classed("selected",!0);e.size_accessor?o.attr("r",function(t){return e.scalefns.size(t)+1}):o.attr("r",e.point_size),e.linked&&!MG.globals.link&&(MG.globals.link=!0,t.selectAll(".mg-voronoi .path-"+n).each(function(){t.select(this).on("mouseover")(a,n)}));var s=MG.time_format(e.utc_time,"%b %e, %Y"),i=I(e);e.show_rollover_text&&r.select(".mg-active-datapoint").text(function(){if(e.time_series){var t=new Date(+a.point[e.x_accessor]);return t.setDate(t.getDate()),s(t)+" "+e.yax_units+i(a.point[e.y_accessor])}return e.x_accessor+": "+i(a.point[e.x_accessor])+", "+e.y_accessor+": "+e.yax_units+i(a.point[e.y_accessor])}),e.mouseover&&e.mouseover(a,n)}},this.rolloverOff=function(e){var r=et(e.target);return function(a,n){e.linked&&MG.globals.link&&(MG.globals.link=!1,t.selectAll(".mg-voronoi .path-"+n).each(function(){t.select(this).on("mouseout")(a,n)}));var o=r.selectAll(".mg-points circle").classed("unselected",!1).classed("selected",!1);e.size_accessor?o.attr("r",e.scalefns.size):o.attr("r",e.point_size),r.select(".mg-active-datapoint").text(""),e.mouseout&&e.mouseout(a,n)}},this.rolloverMove=function(t){return function(e,r){t.mousemove&&t.mousemove(e,r)}},this.update=function(t){return this},this.windowListeners=function(){return k(this.args),this},this.init(e)}var r={buffer:16,ls:!1,lowess:!1,point_size:2.5,size_accessor:null,color_accessor:null,size_range:null,color_range:null,size_domain:null,color_domain:null,color_type:"number"};MG.register("point",e,r)}.call(this),function(){"use strict";function t(t){this.args=t,this.init=function(t){return this.args=t,A(t),T(t),b(t),this.is_vertical="vertical"===t.bar_orientation,this.is_vertical?(c(t),o(t)):(l(t),s(t)),this.mainPlot(),this.markers(),this.rollover(),this.windowListeners(),this},this.mainPlot=function(){var e,r,a,n,o,s=et(t.target),i=t.data[0],l=s.select("g.mg-barplot"),c=l.empty(),u=c&&t.animate_on_load,d=u||t.transition_on_update,f=t.transition_duration||1e3;c&&(l=s.append("g").classed("mg-barplot",!0)),e=e=l.selectAll(".mg-bar").data(i),e.exit().remove(),e.enter().append("rect").classed("mg-bar",!0),t.predictor_accessor&&(r=l.selectAll(".mg-bar-prediction").data(i),r.exit().remove(),r.enter().append("rect").classed("mg-bar-prediction",!0)),t.baseline_accessor&&(o=l.selectAll(".mg-bar-baseline").data(i),o.exit().remove(),o.enter().append("line").classed("mg-bar-baseline",!0));var p;return d&&(e=e.transition().duration(f),r&&(r=r.transition().duration(f)),o&&(o=o.transition().duration(f))),s.select(".mg-y-axis").node().parentNode.appendChild(l.node()),this.is_vertical?(p=t.scales.X.rangeBand()/1.5,u&&(e.attr({height:0,y:t.scales.Y(0)}),r&&r.attr({height:0,y:t.scales.Y(0)}),o&&o.attr({y1:t.scales.Y(0),y2:t.scales.Y(0)})),e.attr("y",t.scalefns.yf).attr("x",function(e){return t.scalefns.xf(e)+p/2}).attr("width",p).attr("height",function(e){return 0-(t.scalefns.yf(e)-t.scales.Y(0))}),t.predictor_accessor&&(a=t.predictor_proportion,n=a-1,r.attr("y",function(e){return t.scales.Y(0)-(t.scales.Y(0)-t.scales.Y(e[t.predictor_accessor]))}).attr("x",function(e){return t.scalefns.xf(e)+n*p/(2*a)+p/2}).attr("width",p/a).attr("height",function(e){return 0-(t.scales.Y(e[t.predictor_accessor])-t.scales.Y(0))})),t.baseline_accessor&&(a=t.predictor_proportion,o.attr("x1",function(e){return t.scalefns.xf(e)+p/2-p/a+p/2}).attr("x2",function(e){return t.scalefns.xf(e)+p/2+p/a+p/2}).attr("y1",function(e){return t.scales.Y(e[t.baseline_accessor])}).attr("y2",function(e){return t.scales.Y(e[t.baseline_accessor])}))):(p=t.scales.Y.rangeBand()/1.5,u&&(e.attr("width",0),r&&r.attr("width",0),o&&o.attr({x1:t.scales.X(0),x2:t.scales.X(0)})),e.attr("x",t.scales.X(0)).attr("y",function(e){return t.scalefns.yf(e)+p/2}).attr("height",p).attr("width",function(e){return t.scalefns.xf(e)-t.scales.X(0)}),t.predictor_accessor&&(a=t.predictor_proportion,n=a-1,r.attr("x",t.scales.X(0)).attr("y",function(e){return t.scalefns.yf(e)+n*p/(2*a)+p/2}).attr("height",p/a).attr("width",function(e){return t.scales.X(e[t.predictor_accessor])-t.scales.X(0)})),t.baseline_accessor&&(a=t.predictor_proportion,o.attr("x1",function(e){return t.scales.X(e[t.baseline_accessor])}).attr("x2",function(e){return t.scales.X(e[t.baseline_accessor])}).attr("y1",function(e){return t.scalefns.yf(e)+p/2-p/a+p/2}).attr("y2",function(e){return t.scalefns.yf(e)+p/2+p/a+p/2}))),this},this.markers=function(){return w(t),this},this.rollover=function(){var e,r=et(t.target);r.selectAll(".mg-rollover-rect").remove(),r.selectAll(".mg-active-datapoint").remove(),r.append("text").attr("class","mg-active-datapoint").attr("xml:space","preserve").attr("x",t.width-t.right).attr("y",.75*t.top).attr("dy",".35em").attr("text-anchor","end"),e=r.append("g").attr("class","mg-rollover-rect");var a=e.selectAll(".mg-bar-rollover").data(t.data[0]).enter().append("rect").attr("class","mg-bar-rollover");return this.is_vertical?a.attr("x",t.scalefns.xf).attr("y",function(){return t.scales.Y(0)-t.height}).attr("width",t.scales.X.rangeBand()).attr("height",t.height).attr("opacity",0).on("mouseover",this.rolloverOn(t)).on("mouseout",this.rolloverOff(t)).on("mousemove",this.rolloverMove(t)):a.attr("x",t.scales.X(0)).attr("y",t.scalefns.yf).attr("width",t.width).attr("height",t.scales.Y.rangeBand()+2).attr("opacity",0).on("mouseover",this.rolloverOn(t)).on("mouseout",this.rolloverOff(t)).on("mousemove",this.rolloverMove(t)),this},this.rolloverOn=function(t){var e=et(t.target),r=this.is_vertical?t.x_accessor:t.y_accessor,a=this.is_vertical?t.y_accessor:t.x_accessor,n=this.is_vertical?t.yax_units:t.xax_units;return function(o,s){e.selectAll("text").filter(function(t,e){return o===t}).attr("opacity",.3);var i=MG.time_format(t.utc_time,"%b %e, %Y"),l=I(t);e.selectAll("g.mg-barplot .mg-bar").filter(function(t,e){return e===s}).classed("active",!0),t.show_rollover_text&&e.select(".mg-active-datapoint").text(function(){if(t.time_series){var e=new Date(+o[a]);return e.setDate(e.getDate()),i(e)+" "+n+l(o[r])}return o[r]+": "+l(o[a])}),t.mouseover&&t.mouseover(o,s)}},this.rolloverOff=function(t){var e=et(t.target);return function(r,a){e.selectAll("g.mg-barplot .mg-bar").classed("active",!1),e.select(".mg-active-datapoint").text(""),t.mouseout&&t.mouseout(r,a)}},this.rolloverMove=function(t){return function(e,r){t.mousemove&&t.mousemove(e,r)}},this.windowListeners=function(){return k(this.args),this},this.init(t)}var e={y_accessor:"factor",x_accessor:"value",baseline_accessor:null,predictor_accessor:null,predictor_proportion:5,dodge_accessor:null,binned:!0,padding_percentage:0,outer_padding_percentage:.1,height:500,bar_height:20,top:45,left:70,truncate_x_labels:!0,truncate_y_labels:!0,rotate_x_labels:0,rotate_y_labels:0};MG.register("bar",t,e)}.call(this),MG.data_table=function(r){"use strict";return this.args=r,this.args.standard_col={width:150,font_size:12,font_weight:"normal"},this.args.columns=[],this.formatting_options=[["color","color"],["font-weight","font_weight"],["font-style","font_style"],["font-size","font_size"]],this._strip_punctuation=function(t){var e=t.replace(/[^a-zA-Z0-9 _]+/g,""),r=e.replace(/ +?/g,"");return r},this._format_element=function(t,e,r){this.formatting_options.forEach(function(a){var n=a[0],o=a[1];r[o]&&t.style(n,"string"==typeof r[o]||"number"==typeof r[o]?r[o]:r[o](e))})},this._add_column=function(t,e){var r=this.args.standard_col,a=ct(MG.clone(t),MG.clone(r));a.type=e,this.args.columns.push(a)},this.target=function(){var t=arguments[0];return this.args.target=t,this},this.title=function(){return this._add_column(arguments[0],"title"),this},this.text=function(){return this._add_column(arguments[0],"text"),this},this.bullet=function(){return this},this.sparkline=function(){return this},this.number=function(){return this._add_column(arguments[0],"number"),this},this.display=function(){var r=this.args;a(r);var n,o,s,i,l,c,u,d,f,p,h,m,_=r.target,g=t.select(_).append("table").classed("mg-data-table",!0),v=g.append("colgroup"),x=g.append("thead"),y=g.append("tbody");for(s=x.append("tr"),m=0;m=i;i++)s.push({x:i,y:Math.random()-.03*i});e.scales.X=t.scale.linear().domain([0,s.length]).range([e.left+e.buffer,r-e.right-e.buffer]),e.scales.Y=t.scale.linear().domain([-2,2]).range([n-e.bottom-2*e.buffer,e.top]),e.scalefns.xf=function(t){return e.scales.X(t.x)},e.scalefns.yf=function(t){return e.scales.Y(t.y)};var l=t.svg.line().x(e.scalefns.xf).y(e.scalefns.yf).interpolate(e.interpolate),c=t.svg.area().x(e.scalefns.xf).y0(e.scales.Y.range()[0]).y1(e.scalefns.yf).interpolate(e.interpolate),u=o.append("g").attr("class","mg-missing-pane");u.append("svg:rect").classed("mg-missing-background",!0).attr("x",e.buffer).attr("y",e.buffer).attr("width",r-2*e.buffer).attr("height",n-2*e.buffer).attr("rx",15).attr("ry",15),u.append("path").attr("class","mg-main-line mg-line1-color").attr("d",l(s)),u.append("path").attr("class","mg-main-area mg-area1-color").attr("d",c(s))}return o.selectAll(".mg-missing-text").data([e.missing_text]).enter().append("text").attr("class","mg-missing-text").attr("x",r/2).attr("y",n/2).attr("dy",".50em").attr("text-anchor","middle").text(e.missing_text),this.windowListeners(),this},this.windowListeners=function(){return k(this.args),this},this.init(e)}var r={top:40,bottom:30,right:10,left:10,buffer:8,legend_target:"",width:350,height:220,missing_text:"Data currently missing or unavailable",scalefns:{},scales:{},show_tooltips:!0,show_missing_background:!0,interpolate:"cardinal"};MG.register("missing-data",e,r)}.call(this),MG.raw_data_transformation=A,MG.process_line=G,MG.process_histogram=D,MG.process_categorical_variables=T,MG.process_point=O,MG.add_ls=Y,MG.add_lowess=F,MG.lowess_robust=C,MG.lowess=X,MG.least_squares=E,MG.format_rollover_number=I,MG.path_tween=B,MG.convert={},MG.convert.date=function(e,r,a){return a="undefined"==typeof a?"%Y-%m-%d":a,e=e.map(function(e){var n=t.time.format(a);return e[r]=n.parse(e[r]),e})},MG.convert.number=function(t,e){return t=t.map(function(t){return t[e]=Number(t[e]),t})},MG.time_format=function(e,r){return e?t.time.format.utc(r):t.time.format(r)};var mt=function(t,e,r){var a={};if(null===t)return t;if(Array.prototype.forEach&&t.forEach===Array.prototype.forEach)t.forEach(e,r);else if(t.length===+t.length){for(var n=0,o=t.length;o>n;n++)if(e.call(r,t[n],n,t)===a)return}else for(var s in t)if(e.call(r,t[s],s,t)===a)return;return t};return MG.merge_with_defaults=ct,MG.clone=function(t){var e;if(null===t||"object"!=typeof t)return t;if(t instanceof Date)return e=new Date,e.setTime(t.getTime()),e;if(t instanceof Array){e=[];for(var r=0,a=t.length;a>r;r++)e[r]=MG.clone(t[r]);return e}if(t instanceof Object){e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=MG.clone(t[n]));return e}throw new Error("Unable to copy obj! Its type isn't supported.")},MG.arr_diff=ut,MG.warn_deprecation=dt,MG.truncate_text=ft,MG.wrap_text=pt,MG.error=ht,MG}); \ No newline at end of file diff --git a/examples/charts/annotations.htm b/examples/charts/annotations.htm index 3cfd23262f..6ebcb4350c 100644 --- a/examples/charts/annotations.htm +++ b/examples/charts/annotations.htm @@ -31,7 +31,46 @@ - + +
+
+
+ + +
d3.json('data/some_percentage.json', function(data) {
+    for (var i = 0; i < data.length; i++) {
+        data[i] = MG.convert.date(data[i], 'date');
+    }
+
+    var clicker = function() {
+        window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank');
+    };
+
+    var markers = [{
+        'date': new Date('2014-02-01T00:00:00.000Z'),
+        'label': "Click me",
+        'click': clicker
+    }, {
+        'date': new Date('2014-03-15T00:00:00.000Z'),
+        'label': "Nothing to see here"
+    }];
+
+    MG.data_graphic({
+        title: "Clickable Markers",
+        description: "You can assign arbitrary functions to markers' click events.",
+        data: data,
+        width: 600,
+        height: 200,
+        right: 40,
+        markers: markers,
+        format: 'percentage',
+        target: '#markers-clickable'
+    });
+});
+ +
+
+
@@ -108,6 +147,31 @@ format: 'percentage', target: '#markers' }); + + var clicker = function() { + window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank'); + }; + + markers = [{ + 'date': new Date('2014-02-01T00:00:00.000Z'), + 'label': "Click me", + 'click': clicker + }, { + 'date': new Date('2014-03-15T00:00:00.000Z'), + 'label': "Nothing to see here" + }]; + + MG.data_graphic({ + title: "Clickable Markers", + description: "You can assign arbitrary functions to markers' click events.", + data: data, + width: 600, + height: 200, + right: 40, + markers: markers, + format: 'percentage', + target: '#markers-clickable' + }); }); d3.json('data/fake_users1.json', function(data) { diff --git a/src/js/common/markers.js b/src/js/common/markers.js index 16f4f6471c..faa529ca0f 100644 --- a/src/js/common/markers.js +++ b/src/js/common/markers.js @@ -46,9 +46,7 @@ function markers(args) { if(d.click) { d3.select(this) .style('cursor', 'pointer') - .on('click', function(d) { - d.click(); - }); + .on('click', d.click); } });