From f8627e9dadf5082bebd07bb98c0b4f333edf5d34 Mon Sep 17 00:00:00 2001 From: Gordon Woodhull Date: Tue, 18 Aug 2015 13:16:53 -0400 Subject: [PATCH] artifacts --- dc.js | 261 ++++++++++++++++++- dc.js.map | 2 +- dc.min.js | 6 +- dc.min.js.map | 2 +- web/docs/api-latest.md | 80 +++++- web/docs/index.html | 64 ++++- web/docs/stock.html | 559 +++++++++++++++++++++------------------- web/examples/index.html | 3 +- web/js/dc.js | 261 ++++++++++++++++++- web/js/dc.js.map | 2 +- web/js/dc.min.js | 6 +- web/js/dc.min.js.map | 2 +- 12 files changed, 954 insertions(+), 294 deletions(-) diff --git a/dc.js b/dc.js index fcd321ad0..773c80599 100644 --- a/dc.js +++ b/dc.js @@ -706,6 +706,7 @@ dc.baseMixin = function (_chart) { return _chart.keyAccessor()(d) + ': ' + _chart.valueAccessor()(d); }; var _renderTitle = true; + var _controlsUseVisibility = true; var _transitionDuration = 750; @@ -1063,6 +1064,19 @@ dc.baseMixin = function (_chart) { return _chart; }; + /** + #### .controlsUseVisibility + If set, use the `visibility` attribute instead of the `display` attribute, for less disruption + to layout. Default: true. + **/ + _chart.controlsUseVisibility = function (_) { + if (!arguments.length) { + return _controlsUseVisibility; + } + _controlsUseVisibility = _; + return _chart; + }; + /** #### .turnOnControls() & .turnOffControls() Turn on/off optional control elements within the root element. dc currently supports the @@ -1075,19 +1089,25 @@ dc.baseMixin = function (_chart) { content of this element is then replaced with the current filter value using the filter printer function. This type of element will be turned off automatically if the filter is cleared. + The method (display or visibility) for turning on/off the controls depends on the + `controlsUseVisibility` flag. + **/ _chart.turnOnControls = function () { if (_root) { - _chart.selectAll('.reset').style('display', null); - _chart.selectAll('.filter').text(_filterPrinter(_chart.filters())).style('display', null); + var attribute = _chart.controlsUseVisibility() ? 'visibility' : 'display'; + _chart.selectAll('.reset').style(attribute, null); + _chart.selectAll('.filter').text(_filterPrinter(_chart.filters())).style(attribute, null); } return _chart; }; _chart.turnOffControls = function () { if (_root) { - _chart.selectAll('.reset').style('display', 'none'); - _chart.selectAll('.filter').style('display', 'none').text(_chart.filter()); + var attribute = _chart.controlsUseVisibility() ? 'visibility' : 'display'; + var value = _chart.controlsUseVisibility() ? 'hidden' : 'none'; + _chart.selectAll('.reset').style(attribute, value); + _chart.selectAll('.filter').style(attribute, value).text(_chart.filter()); } return _chart; }; @@ -8886,6 +8906,239 @@ dc.boxPlot = function (parent, chartGroup) { return _chart.anchor(parent, chartGroup); }; +/** + ## Select Menu + Includes: [Base Mixin](#base-mixin) + +The select menu is a simple widget designed to filter a dimension by selecting an option from +an HTML menu. The menu can be optionally turned into a multiselect.\n\n #### dc.selectMenu(parent[, chartGroup])\n Create a select menu instance and attach it to the given parent element.\n\n Parameters:\n* parent : string | node | selection - any valid\n [d3 single selector](https://github.com/mbostock/d3/wiki/Selections#selecting-elements) specifying\n a dom block element such as a div; or a dom element or d3 selection.\n\n* chartGroup : string (optional) - name of the chart group this chart instance should be placed in.\n Interaction with a chart will only trigger events and redraws within the chart's group.\n\n Returns:\n A newly created select menu instance.\n\n ```js\n var select = dc.selectMenu('#select-container')\n .dimension(states)\n .group(stateGroup);\n\n // the option text can be set via the title() function\n // by default the option text is '`key`: `value`'\n select.title(function(d){\n return 'STATE: ' + d.key;\n })\n ```\n\n **/\ndc.selectMenu = function (parent, chartGroup) {\n var SELECT_CSS_CLASS = 'dc-select-menu';\n var OPTION_CSS_CLASS = 'dc-select-option';\n\n var _chart = dc.baseMixin({});\n\n var _select;\n var _promptText = 'Select all';\n var _multiple = false;\n var _size = null;\n var _order = function (a, b) {\n return _chart.keyAccessor()(a) > _chart.keyAccessor()(b) ?\n 1 : _chart.keyAccessor()(b) > _chart.keyAccessor()(a) ?\n -1 : 0;\n };\n\n var _filterDisplayed = function (d) {\n return _chart.valueAccessor()(d) > 0;\n };\n\n _chart.data(function (group) {\n return group.all().filter(_filterDisplayed);\n });\n\n _chart._doRender = function () {\n _chart.select('select').remove();\n _select = _chart.root().append('select')\n .classed(SELECT_CSS_CLASS, true);\n\n setAttributes();\n\n _select.append('option').text(_promptText).attr('value', '');\n renderOptions();\n return _chart;\n };\n\n _chart._doRedraw = function () {\n setAttributes();\n renderOptions();\n // select the option(s) corresponding to current filter(s)\n if (_chart.hasFilter() && _multiple) {\n _select.selectAll('option')\n .filter(function (d) {\n return d && _chart.filters().indexOf(String(_chart.keyAccessor()(d))) >= 0;\n })\n .property('selected', true);\n } else if (_chart.hasFilter()) {\n _select.property('value', _chart.filter());\n } else {\n _select.property('value', '');\n }\n return _chart;\n };\n\n function renderOptions () {\n var options = _select.selectAll('option.' + OPTION_CSS_CLASS)\n .data(_chart.data(), function (d) { return _chart.keyAccessor()(d); });\n\n options.enter()\n .append('option')\n .classed(OPTION_CSS_CLASS, true)\n .attr('value', function (d) { return _chart.keyAccessor()(d); });\n\n options.text(_chart.title());\n options.exit().remove();\n _select.selectAll('option.' + OPTION_CSS_CLASS).sort(_order);\n\n _select.on('change', onChange);\n return options;\n }\n\n function onChange (d , i) {\n var selectedOptions = Array.prototype.slice.call(d3.event.target.selectedOptions);\n var values = selectedOptions.map(function (d) {\n return d.value;\n });\n // check if only prompt option is selected\n if (values.length === 1 && values[0] === '') {\n values = null;\n } else if (values.length === 1) {\n values = values[0];\n }\n _chart.onChange(values);\n }\n\n _chart.onChange = function (val) {\n if (val && _multiple) {\n _chart.replaceFilter([val]);\n } else if (val) {\n _chart.replaceFilter(val);\n } else {\n _chart.filterAll();\n }\n dc.events.trigger(function () {\n _chart.redrawGroup();\n });\n };\n\n function setAttributes () {\n if (_multiple) {\n _select.attr('multiple', true);\n } else {\n _select.attr('multiple', null);\n }\n if (_size !== null) {\n _select.attr('size', _size);\n } else {\n _select.attr('size', null);\n }\n }\n\n /**\n #### .order([function])\n Get or set the function that controls the ordering of option tags in the\n select menu. By default options are ordered by the group key in ascending\n order. To order by the group's value for example an appropriate comparator\n function needs to be specified:\n ```\n chart.order(function(a,b) {\n return a.value > b.value ? 1 : b.value > a.value ? -1 : 0;\n });\n ```\n **/\n _chart.order = function (_) {\n if (!arguments.length) {\n return _order;\n }\n _order = _;\n return _chart;\n };\n\n /**\n #### .promptText([value])\n Gets or sets the text displayed in the options used to prompt selection.\n The default is 'Select all'.\n ```\n chart.promptText('All states');\n ```\n **/\n _chart.promptText = function (_) {\n if (!arguments.length) {\n return _promptText;\n }\n _promptText = _;\n return _chart;\n };\n\n /**\n #### .filterDisplayed([function])\n Get or set the function that filters option tags prior to display.\n By default options with a value of < 1 are not displayed.\n To always display all options override the `filterDisplayed` function:\n ```\n chart.filterDisplayed(function() {\n return true;\n });\n ```\n **/\n _chart.filterDisplayed = function (_) {\n if (!arguments.length) {\n return _filterDisplayed;\n }\n _filterDisplayed = _;\n return _chart;\n };\n\n /**\n #### .multiple([bool])\n Controls the type of select menu (single select is default). Setting it to true converts the underlying\n HTML tag into a multiple select.\n ```\n chart.multiple(true);\n ```\n **/\n _chart.multiple = function (_) {\n if (!arguments.length) {\n return _multiple;\n }\n _multiple = _;\n\n return _chart;\n };\n\n /**\n #### .size([number])\n Controls the height, in lines, of the select menu, when `.multiple()` is true. Default: undefined (not set).\n **/\n _chart.size = function (_) {\n if (!arguments.length) {\n return _size;\n }\n _size = _;\n\n return _chart;\n };\n\n return _chart.anchor(parent, chartGroup);\n};\n","// Renamed functions\n\ndc.abstractBubbleChart = dc.bubbleMixin;\ndc.baseChart = dc.baseMixin;\ndc.capped = dc.capMixin;\ndc.colorChart = dc.colorMixin;\ndc.coordinateGridChart = dc.coordinateGridMixin;\ndc.marginable = dc.marginMixin;\ndc.stackableChart = dc.stackMixin;\n\n// Expose d3 and crossfilter, so that clients in browserify\n// case can obtain them if they need them.\ndc.d3 = d3;\ndc.crossfilter = crossfilter;\n\nreturn dc;}\n if(typeof define === \"function\" && define.amd) {\n define([\"d3\", \"crossfilter\"], _dc);\n } else if(typeof module === \"object\" && module.exports) {\n var _d3 = require('d3');\n var _crossfilter = require('crossfilter');\n // When using npm + browserify, 'crossfilter' is a function,\n // since package.json specifies index.js as main function, and it\n // does special handling. When using bower + browserify,\n // there's no main in bower.json (in fact, there's no bower.json),\n // so we need to fix it.\n if (typeof _crossfilter !== \"function\") {\n _crossfilter = _crossfilter.crossfilter;\n }\n module.exports = _dc(_d3, _crossfilter);\n } else {\n this.dc = _dc(d3, crossfilter);\n }\n}\n)();\n"]} \ No newline at end of file diff --git a/dc.min.js b/dc.min.js index 0ab227df2..9333a2911 100644 --- a/dc.min.js +++ b/dc.min.js @@ -17,7 +17,7 @@ * limitations under the License. */ -!function(){function a(a,b){"use strict";var c={version:"2.1.0-dev",constants:{CHART_CLASS:"dc-chart",DEBUG_GROUP_CLASS:"debug",STACK_CLASS:"stack",DESELECTED_CLASS:"deselected",SELECTED_CLASS:"selected",NODE_INDEX_NAME:"__index__",GROUP_INDEX_NAME:"__group_index__",DEFAULT_CHART_GROUP:"__default_chart_group__",EVENT_DELAY:40,NEGLIGIBLE_NUMBER:1e-10},_renderlet:null};c.chartRegistry=function(){function a(a){return a||(a=c.constants.DEFAULT_CHART_GROUP),b[a]||(b[a]=[]),a}var b={};return{has:function(a){for(var c in b)if(b[c].indexOf(a)>=0)return!0;return!1},register:function(c,d){d=a(d),b[d].push(c)},deregister:function(c,d){d=a(d);for(var e=0;e=b||void 0===b||c.disableTransitions)return a;var f=a.transition(e).duration(b);return"function"==typeof d&&d(f),f},c.optionalTransition=function(a,b,d,e){return a?function(a){return c.transition(a,b,d,e)}:function(a){return a}},c.units={},c.units.integers=function(a,b){return Math.abs(b-a)},c.units.ordinal=function(a,b,c){return c},c.units.fp={},c.units.fp.precision=function(a){var b=function(a,d){var e=Math.abs((d-a)/b.resolution);return c.utils.isNegligible(e-Math.floor(e))?Math.floor(e):Math.ceil(e)};return b.resolution=a,b},c.round={},c.round.floor=function(a){return Math.floor(a)},c.round.ceil=function(a){return Math.ceil(a)},c.round.round=function(a){return Math.round(a)},c.override=function(a,b,c){var d=a[b];a["_"+b]=d,a[b]=c},c.renderlet=function(a){return arguments.length?(c._renderlet=a,c):c._renderlet},c.instanceOfChart=function(a){return a instanceof Object&&a.__dcFlag__&&!0},c.errors={},c.errors.Exception=function(a){var b=a||"Unexpected internal error";this.message=b,this.toString=function(){return b}},c.errors.InvalidStateException=function(){c.errors.Exception.apply(this,arguments)},c.dateFormat=a.time.format("%m/%d/%Y"),c.printers={},c.printers.filters=function(a){for(var b="",d=0;d0&&(b+=", "),b+=c.printers.filter(a[d]);return b},c.printers.filter=function(a){var b="";return"undefined"!=typeof a&&null!==a&&(a instanceof Array?a.length>=2?b="["+c.utils.printSingleValue(a[0])+" -> "+c.utils.printSingleValue(a[1])+"]":a.length>=1&&(b=c.utils.printSingleValue(a[0])):b=c.utils.printSingleValue(a)),b},c.pluck=function(a,b){return b?function(c,d){return b.call(c,c[a],d)}:function(b){return b[a]}},c.utils={},c.utils.printSingleValue=function(a){var b=""+a;return a instanceof Date?b=c.dateFormat(a):"string"==typeof a?b=a:c.utils.isFloat(a)?b=c.utils.printSingleValue.fformat(a):c.utils.isInteger(a)&&(b=Math.round(a)),b},c.utils.printSingleValue.fformat=a.format(".2f"),c.utils.add=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()+b),c}if("string"==typeof b){var d=+b/100;return a>0?a*(1+d):a*(1-d)}return a+b},c.utils.subtract=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()-b),c}if("string"==typeof b){var d=+b/100;return 0>a?a*(1+d):a*(1-d)}return a-b},c.utils.isNumber=function(a){return a===+a},c.utils.isFloat=function(a){return a===+a&&a!==(0|a)},c.utils.isInteger=function(a){return a===+a&&a===(0|a)},c.utils.isNegligible=function(a){return!c.utils.isNumber(a)||a-c.constants.NEGLIGIBLE_NUMBER},c.utils.clamp=function(a,b,c){return b>a?b:a>c?c:a};var d=0;return c.utils.uniqueId=function(){return++d},c.utils.nameToId=function(a){return a.toLowerCase().replace(/[\s]/g,"_").replace(/[\.']/g,"")},c.utils.appendOrSelect=function(a,b,c){c=c||b;var d=a.select(b);return d.empty()&&(d=a.append(c)),d},c.utils.safeNumber=function(a){return c.utils.isNumber(+a)?+a:0},c.logger={},c.logger.enableDebugLog=!1,c.logger.warn=function(a){return console&&(console.warn?console.warn(a):console.log&&console.log(a)),c.logger},c.logger.debug=function(a){return c.logger.enableDebugLog&&console&&(console.debug?console.debug(a):console.log&&console.log(a)),c.logger},c.logger.deprecate=function(a,b){function d(){return e||(c.logger.warn(b),e=!0),a.apply(this,arguments)}var e=!1;return d},c.events={current:null},c.events.trigger=function(a,b){return b?(c.events.current=a,void setTimeout(function(){a===c.events.current&&a()},b)):void a()},c.filters={},c.filters.RangedFilter=function(a,b){var c=new Array(a,b);return c.isFiltered=function(a){return a>=this[0]&&a=b[0][0]&&c=b[0][1]&&dq?b:q},s=r,t=200,u=function(a){var b=a&&a.getBoundingClientRect&&a.getBoundingClientRect().height;return b&&b>t?b:t},v=u,w=c.pluck("key"),x=c.pluck("value"),y=c.pluck("key"),z=c.pluck("key"),A=!1,B=function(a){return d.keyAccessor()(a)+": "+d.valueAccessor()(a)},C=!0,D=750,E=c.printers.filters,F=["dimension","group"],G=c.constants.DEFAULT_CHART_GROUP,H=a.dispatch("preRender","postRender","preRedraw","postRedraw","filtered","zoomed","renderlet","pretransition"),I=[],J=function(a,b){return a.filter(null),0===b.length?a.filter(null):a.filterFunction(function(a){for(var c=0;c=d&&d>=a)return!0}return!1}),b},K=function(a){return a.all()};d.width=function(b){return arguments.length?(s=a.functor(b||r),d):s(l.node())},d.height=function(b){return arguments.length?(v=a.functor(b||u),d):v(l.node())},d.minWidth=function(a){return arguments.length?(q=a,d):q},d.minHeight=function(a){return arguments.length?(t=a,d):t},d.dimension=function(a){return arguments.length?(i=a,d.expireCache(),d):i},d.data=function(b){return arguments.length?(K=a.functor(b),d.expireCache(),d):K.call(d,j)},d.group=function(a,b){return arguments.length?(j=a,d._groupName=b,d.expireCache(),d):j},d.ordering=function(a){return arguments.length?(z=a,o=b.quicksort.by(z),d.expireCache(),d):z},d._computeOrderedGroups=function(a){var c=a.slice(0);return c.length<=1?c:(o||(o=b.quicksort.by(z)),o(c,0,c.length))},d.filterAll=function(){return d.filter(null)},d.select=function(a){return l.select(a)},d.selectAll=function(a){return l?l.selectAll(a):null},d.anchor=function(b,e){return arguments.length?(c.instanceOfChart(b)?(k=b.anchor(),l=b.root(),n=!0):(k=b,l=a.select(k),l.classed(c.constants.CHART_CLASS,!0),c.registerChart(d,e),n=!1),G=e,d):k},d.anchorName=function(){var a=d.anchor();return a&&a.id?a.id:a&&a.replace?a.replace("#",""):"dc-chart"+d.chartID()},d.root=function(a){return arguments.length?(l=a,d):l},d.svg=function(a){return arguments.length?(m=a,d):m},d.resetSvg=function(){return d.select("svg").remove(),f()},d.filterPrinter=function(a){return arguments.length?(E=a,d):E},d.turnOnControls=function(){return l&&(d.selectAll(".reset").style("display",null),d.selectAll(".filter").text(E(d.filters())).style("display",null)),d},d.turnOffControls=function(){return l&&(d.selectAll(".reset").style("display","none"),d.selectAll(".filter").style("display","none").text(d.filter())),d},d.transitionDuration=function(a){return arguments.length?(D=a,d):D},d._mandatoryAttributes=function(a){return arguments.length?(F=a,d):F},d.render=function(){H.preRender(d),F&&F.forEach(g);var a=d._doRender();return p&&p.render(),d._activateRenderlets("postRender"),a},d._activateRenderlets=function(a){H.pretransition(d),d.transitionDuration()>0&&m?m.transition().duration(d.transitionDuration()).each("end",function(){H.renderlet(d),a&&H[a](d)}):(H.renderlet(d),a&&H[a](d))},d.redraw=function(){e(),H.preRedraw(d);var a=d._doRedraw();return p&&p.render(),d._activateRenderlets("postRedraw"),a},d.redrawGroup=function(){c.redrawAll(d.chartGroup())},d.renderGroup=function(){c.renderAll(d.chartGroup())},d._invokeFilteredListener=function(a){void 0!==a&&H.filtered(d,a)},d._invokeZoomedListener=function(){H.zoomed(d)};var L=function(a,b){return null===b||"undefined"==typeof b?a.length>0:a.some(function(a){return a>=b&&b>=a})};d.hasFilterHandler=function(a){return arguments.length?(L=a,d):L},d.hasFilter=function(a){return L(I,a)};var M=function(a,b){for(var c=0;c=b){a.splice(c,1);break}return a};d.removeFilterHandler=function(a){return arguments.length?(M=a,d):M};var N=function(a,b){return a.push(b),a};d.addFilterHandler=function(a){return arguments.length?(N=a,d):N};var O=function(){return[]};return d.resetFilterHandler=function(a){return arguments.length?(O=a,d):O},d.replaceFilter=function(a){I=[],d.filter(a)},d.filter=function(a){return arguments.length?(a instanceof Array&&a[0]instanceof Array&&!a.isFiltered?a[0].forEach(function(a){d.hasFilter(a)?M(I,a):N(I,a)}):null===a?I=O(I):d.hasFilter(a)?M(I,a):N(I,a),h(),d._invokeFilteredListener(a),null!==l&&d.hasFilter()?d.turnOnControls():d.turnOffControls(),d):I.length>0?I[0]:null},d.filters=function(){return I},d.highlightSelected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!0),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.fadeDeselected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!0)},d.resetHighlight=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.onClick=function(a){var b=d.keyAccessor()(a);c.events.trigger(function(){d.filter(b),d.redrawGroup()})},d.filterHandler=function(a){return arguments.length?(J=a,d):J},d._doRender=function(){return d},d._doRedraw=function(){return d},d.legendables=function(){return[]},d.legendHighlight=function(){},d.legendReset=function(){},d.legendToggle=function(){},d.isLegendableHidden=function(){return!1},d.keyAccessor=function(a){return arguments.length?(w=a,d):w},d.valueAccessor=function(a){return arguments.length?(x=a,d):x},d.label=function(a){return arguments.length?(y=a,A=!0,d):y},d.renderLabel=function(a){return arguments.length?(A=a,d):A},d.title=function(a){return arguments.length?(B=a,d):B},d.renderTitle=function(a){return arguments.length?(C=a,d):C},d.renderlet=c.logger.deprecate(function(a){return d.on("renderlet."+c.utils.uniqueId(),a),d},'chart.renderlet has been deprecated. Please use chart.on("renderlet.", renderletFunction)'),d.chartGroup=function(a){return arguments.length?(n||c.deregisterChart(d,G),G=a,n||c.registerChart(d,G),d):G},d.expireCache=function(){return d},d.legend=function(a){return arguments.length?(p=a,p.parent(d),d):p},d.chartID=function(){return d.__dcFlag__},d.options=function(a){var b=["anchor","group","xAxisLabel","yAxisLabel","stack","title","point","getColor","overlayGeoJson"];for(var e in a)"function"==typeof d[e]?a[e]instanceof Array&&-1!==b.indexOf(e)?d[e].apply(d,a[e]):d[e].call(d,a[e]):c.logger.debug("Not a valid option setter name: "+e);return d},d.on=function(a,b){return H.on(a,b),d},d},c.marginMixin=function(a){var b={top:10,right:50,bottom:30,left:30};return a.margins=function(c){return arguments.length?(b=c,a):b},a.effectiveWidth=function(){return a.width()-a.margins().left-a.margins().right},a.effectiveHeight=function(){return a.height()-a.margins().top-a.margins().bottom},a},c.colorMixin=function(b){var c=a.scale.category20c(),d=!0,e=function(a){return b.keyAccessor()(a)};return b.colors=function(d){return arguments.length?(c=d instanceof Array?a.scale.quantize().range(d):a.functor(d),b):c},b.ordinalColors=function(c){return b.colors(a.scale.ordinal().range(c))},b.linearColors=function(c){return b.colors(a.scale.linear().range(c).interpolate(a.interpolateHcl))},b.colorAccessor=function(a){return arguments.length?(e=a,d=!1,b):e},b.defaultColorAccessor=function(){return d},b.colorDomain=function(a){return arguments.length?(c.domain(a),b):c.domain()},b.calculateColorDomain=function(){var d=[a.min(b.data(),b.colorAccessor()),a.max(b.data(),b.colorAccessor())];return c.domain(d),b},b.getColor=function(a,b){return c(e.call(this,a,b))},b.colorCalculator=function(a){return arguments.length?(b.getColor=a,b):b.getColor},b},c.coordinateGridMixin=function(b){function d(){V=!0,Y&&(b.x().domain(m(b.x().domain(),z)),G&&b.x().domain(m(b.x().domain(),G.x().domain())));var a=b.x().domain(),d=c.filters.RangedFilter(a[0],a[1]);b.replaceFilter(d),b.rescale(),b.redraw(),G&&!n(b.filter(),G.filter())&&c.events.trigger(function(){G.replaceFilter(d),G.redraw()}),b._invokeZoomedListener(),c.events.trigger(function(){b.redrawGroup()},c.constants.EVENT_DELAY),V=!n(a,z)}function e(a,b){return!a||!b||a.length!==b.length||a.some(function(a,c){return a.toString()!==b[c].toString()})}function f(a,c){b.isOrdinal()?(b.elasticX()||0===y.domain().length)&&y.domain(b._ordinalXDomain()):b.elasticX()&&y.domain([b.xAxisMin(),b.xAxisMax()]);var d=y.domain();(c||e(B,d))&&b.rescale(),B=d,b.isOrdinal()?y.rangeBands([0,b.xAxisLength()],da,b._useOuterPadding()?ca:0):y.range([0,b.xAxisLength()]),I=I.scale(b.x()),g(a)}function g(a){var d=a.selectAll("g."+r);if(U){d.empty()&&(d=a.insert("g",":first-child").attr("class",p+" "+r).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var e=I.tickValues()?I.tickValues():"function"==typeof y.ticks?y.ticks(I.ticks()[0]):y.domain(),f=d.selectAll("line").data(e),g=f.enter().append("line").attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0).attr("opacity",0);c.transition(g,b.transitionDuration()).attr("opacity",1),c.transition(f,b.transitionDuration()).attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0),f.exit().remove()}else d.selectAll("line").remove()}function h(){return b._xAxisY()-b.margins().top}function i(){return b.anchorName().replace(/[ .#=\[\]]/g,"-")+"-clip"}function j(){var a=c.utils.appendOrSelect(v,"defs"),d=i(),e=c.utils.appendOrSelect(a,"#"+d,"clipPath").attr("id",d),f=2*ba;c.utils.appendOrSelect(e,"rect").attr("width",b.xAxisLength()+f).attr("height",b.yAxisHeight()+f).attr("transform","translate(-"+ba+", -"+ba+")")}function k(a){b.isOrdinal()&&(S=!1),f(b.g(),a),b._prepareYAxis(b.g()),b.plotData(),(b.elasticX()||W||a)&&b.renderXAxis(b.g()),(b.elasticY()||W||a)&&b.renderYAxis(b.g()),a?b.renderBrush(b.g(),!1):b.redrawBrush(b.g(),W),b.fadeDeselectedArea(),W=!1}function l(){aa?b._enableMouseZoom():_&&b._disableMouseZoom()}function m(b,c){var d=[];return d[0]=a.max([b[0],c[0]]),d[1]=a.min([b[1],c[1]]),d}function n(a,b){return a||b?a&&b?0===a.length&&0===b.length?!0:a[0].valueOf()===b[0].valueOf()&&a[1].valueOf()===b[1].valueOf()?!0:!1:!1:!0}function o(a){return a instanceof Array&&a.length>1}var p="grid-line",q="horizontal",r="vertical",s="y-axis-label",t="x-axis-label",u=12;b=c.colorMixin(c.marginMixin(c.baseMixin(b))),b.colors(a.scale.category10()),b._mandatoryAttributes().push("x");var v,w,x,y,z,A,B,C,D,E,F,G,H,I=a.svg.axis().orient("bottom"),J=c.units.integers,K=0,L=!1,M=0,N=a.svg.axis().orient("left"),O=0,P=!1,Q=0,R=a.svg.brush(),S=!0,T=!1,U=!1,V=!1,W=!1,X=[1,1/0],Y=!0,Z=a.behavior.zoom().on("zoom",d),$=a.behavior.zoom().on("zoom",null),_=!1,aa=!1,ba=0,ca=.5,da=0,ea=!1;return b.rescale=function(){return F=void 0,W=!0,b},b.rangeChart=function(a){return arguments.length?(G=a,G.focusChart(b),b):G},b.zoomScale=function(a){return arguments.length?(X=a,b):X},b.zoomOutRestrict=function(a){return arguments.length?(X[0]=a?1:0,Y=a,b):Y},b._generateG=function(a){return v=void 0===a?b.svg():a,w=v.append("g"),x=w.append("g").attr("class","chart-body").attr("transform","translate("+b.margins().left+", "+b.margins().top+")").attr("clip-path","url(#"+i()+")"),w},b.g=function(a){return arguments.length?(w=a,b):w},b.mouseZoomable=function(a){return arguments.length?(aa=a,b):aa},b.chartBodyG=function(a){return arguments.length?(x=a,b):x},b.x=function(a){return arguments.length?(y=a,z=y.domain(),b.rescale(),b):y},b.xOriginalDomain=function(){return z},b.xUnits=function(a){return arguments.length?(J=a,b):J},b.xAxis=function(a){return arguments.length?(I=a,b):I},b.elasticX=function(a){return arguments.length?(L=a,b):L},b.xAxisPadding=function(a){return arguments.length?(K=a,b):K},b.xUnitCount=function(){if(void 0===F){var a=b.xUnits()(b.x().domain()[0],b.x().domain()[1],b.x().domain());F=a instanceof Array?a.length:a}return F},b.useRightYAxis=function(a){return arguments.length?(ea=a,b):ea},b.isOrdinal=function(){return b.xUnits()===c.units.ordinal},b._useOuterPadding=function(){return!0},b._ordinalXDomain=function(){var a=b._computeOrderedGroups(b.data());return a.map(b.keyAccessor())},b.renderXAxis=function(a){var d=a.selectAll("g.x");d.empty()&&(d=a.append("g").attr("class","axis x").attr("transform","translate("+b.margins().left+","+b._xAxisY()+")"));var e=a.selectAll("text."+t);e.empty()&&b.xAxisLabel()&&(e=a.append("text").attr("class",t).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")").attr("text-anchor","middle")),b.xAxisLabel()&&e.text()!==b.xAxisLabel()&&e.text(b.xAxisLabel()),c.transition(d,b.transitionDuration()).attr("transform","translate("+b.margins().left+","+b._xAxisY()+")").call(I),c.transition(e,b.transitionDuration()).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")")},b._xAxisY=function(){return b.height()-b.margins().bottom},b.xAxisLength=function(){return b.effectiveWidth()},b.xAxisLabel=function(a,c){return arguments.length?(A=a,b.margins().bottom-=M,M=void 0===c?u:c,b.margins().bottom+=M,b):A},b._prepareYAxis=function(c){if(void 0===C||b.elasticY()){void 0===C&&(C=a.scale.linear());var d=b.yAxisMin()||0,e=b.yAxisMax()||0;C.domain([d,e]).rangeRound([b.yAxisHeight(),0])}C.range([b.yAxisHeight(),0]),N=N.scale(C),ea&&N.orient("right"),b._renderHorizontalGridLinesForAxis(c,C,N)},b.renderYAxisLabel=function(a,d,e,f){f=f||Q;var g=b.g().selectAll("text."+s+"."+a+"-label"),h=b.margins().top+b.yAxisHeight()/2;g.empty()&&d&&(g=b.g().append("text").attr("transform","translate("+f+","+h+"),rotate("+e+")").attr("class",s+" "+a+"-label").attr("text-anchor","middle").text(d)),d&&g.text()!==d&&g.text(d),c.transition(g,b.transitionDuration()).attr("transform","translate("+f+","+h+"),rotate("+e+")")},b.renderYAxisAt=function(a,d,e){var f=b.g().selectAll("g."+a);f.empty()&&(f=b.g().append("g").attr("class","axis "+a).attr("transform","translate("+e+","+b.margins().top+")")),c.transition(f,b.transitionDuration()).attr("transform","translate("+e+","+b.margins().top+")").call(d)},b.renderYAxis=function(){var a=ea?b.width()-b.margins().right:b._yAxisX();b.renderYAxisAt("y",N,a);var c=ea?b.width()-Q:Q,d=ea?90:-90;b.renderYAxisLabel("y",b.yAxisLabel(),d,c)},b._renderHorizontalGridLinesForAxis=function(a,d,e){var f=a.selectAll("g."+q);if(T){var g=e.tickValues()?e.tickValues():d.ticks(e.ticks()[0]);f.empty()&&(f=a.insert("g",":first-child").attr("class",p+" "+q).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var h=f.selectAll("line").data(g),i=h.enter().append("line").attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}).attr("opacity",0);c.transition(i,b.transitionDuration()).attr("opacity",1),c.transition(h,b.transitionDuration()).attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}),h.exit().remove()}else f.selectAll("line").remove()},b._yAxisX=function(){return b.useRightYAxis()?b.width()-b.margins().right:b.margins().left},b.yAxisLabel=function(a,c){return arguments.length?(D=a,b.margins().left-=Q,Q=void 0===c?u:c,b.margins().left+=Q,b):D},b.y=function(a){return arguments.length?(C=a,b.rescale(),b):C},b.yAxis=function(a){return arguments.length?(N=a,b):N},b.elasticY=function(a){return arguments.length?(P=a,b):P},b.renderHorizontalGridLines=function(a){return arguments.length?(T=a,b):T},b.renderVerticalGridLines=function(a){return arguments.length?(U=a,b):U},b.xAxisMin=function(){var d=a.min(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.subtract(d,K)},b.xAxisMax=function(){var d=a.max(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.add(d,K)},b.yAxisMin=function(){var d=a.min(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.subtract(d,O)},b.yAxisMax=function(){var d=a.max(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.add(d,O)},b.yAxisPadding=function(a){return arguments.length?(O=a,b):O},b.yAxisHeight=function(){return b.effectiveHeight()},b.round=function(a){return arguments.length?(E=a,b):E},b._rangeBandPadding=function(a){return arguments.length?(da=a,b):da},b._outerRangeBandPadding=function(a){return arguments.length?(ca=a,b):ca},c.override(b,"filter",function(a){return arguments.length?(b._filter(a),a?b.brush().extent(a):b.brush().clear(),b):b._filter()}),b.brush=function(a){return arguments.length?(R=a,b):R},b.renderBrush=function(a){if(S){R.on("brush",b._brushing),R.on("brushstart",b._disableMouseZoom),R.on("brushend",l);var c=a.append("g").attr("class","brush").attr("transform","translate("+b.margins().left+","+b.margins().top+")").call(R.x(b.x()));b.setBrushY(c,!1),b.setHandlePaths(c),b.hasFilter()&&b.redrawBrush(a,!1)}},b.setHandlePaths=function(a){a.selectAll(".resize").append("path").attr("d",b.resizeHandlePath)},b.setBrushY=function(a){a.selectAll(".brush rect").attr("height",h()),a.selectAll(".resize path").attr("d",b.resizeHandlePath)},b.extendBrush=function(){var a=R.extent();return b.round()&&(a[0]=a.map(b.round())[0],a[1]=a.map(b.round())[1],w.select(".brush").call(R.extent(a))),a},b.brushIsEmpty=function(a){return R.empty()||!a||a[1]<=a[0]},b._brushing=function(){var a=b.extendBrush();if(b.redrawBrush(w,!1),b.brushIsEmpty(a))c.events.trigger(function(){b.filter(null),b.redrawGroup()},c.constants.EVENT_DELAY);else{var d=c.filters.RangedFilter(a[0],a[1]);c.events.trigger(function(){b.replaceFilter(d),b.redrawGroup()},c.constants.EVENT_DELAY)}},b.redrawBrush=function(a,d){if(S){b.filter()&&b.brush().empty()&&b.brush().extent(b.filter());var e=c.optionalTransition(d,b.transitionDuration())(a.select("g.brush"));b.setBrushY(e),e.call(b.brush().x(b.x()).extent(b.brush().extent()))}b.fadeDeselectedArea()},b.fadeDeselectedArea=function(){},b.resizeHandlePath=function(a){var b=+("e"===a),c=b?1:-1,d=h()/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)},b.clipPadding=function(a){return arguments.length?(ba=a,b):ba},b._preprocessData=function(){},b._doRender=function(){return b.resetSvg(),b._preprocessData(),b._generateG(),j(),k(!0),l(),b},b._doRedraw=function(){return b._preprocessData(),k(!1),j(),b},b._enableMouseZoom=function(){_=!0,Z.x(b.x()).scaleExtent(X).size([b.width(),b.height()]).duration(b.transitionDuration()),b.root().call(Z)},b._disableMouseZoom=function(){b.root().call($)},b.focus=function(a){b.x().domain(o(a)?a:z),Z.x(b.x()),d()},b.refocused=function(){return V},b.focusChart=function(a){return arguments.length?(H=a,b.on("filtered",function(a){a.filter()?n(a.filter(),H.filter())||c.events.trigger(function(){H.focus(a.filter())}):c.events.trigger(function(){H.x().domain(H.xOriginalDomain())})}),b):H},b.brushOn=function(a){return arguments.length?(S=a,b):S},b},c.stackMixin=function(b){function d(a,c){var d=a.accessor||b.valueAccessor();return a.name=String(a.name||c),a.values=a.group.all().map(function(c,e){return{x:b.keyAccessor()(c,e),y:a.hidden?null:d(c,e),data:c,layer:a.name,hidden:a.hidden}}),a.values=a.values.filter(e()),a.values}function e(){if(!b.x())return a.functor(!0);var c=b.x().domain();return b.isOrdinal()?function(){return!0}:b.elasticX()?function(){return!0}:function(a){return a.x>=c[0]&&a.x<=c[c.length-1]}}function f(a){var b=j.map(c.pluck("name")).indexOf(a);return j[b]}function g(){var a=b.data().map(function(a){return a.values});return Array.prototype.concat.apply([],a)}function h(a){return!a.hidden}var i=a.layout.stack().values(d),j=[],k={},l=!1;return b.stack=function(a,c,d){if(!arguments.length)return j;arguments.length<=2&&(d=c);var e={group:a};return"string"==typeof c&&(e.name=c),"function"==typeof d&&(e.accessor=d),j.push(e),b},c.override(b,"group",function(a,c,d){return arguments.length?(j=[],k={},b.stack(a,c),d&&b.valueAccessor(d),b._group(a,c)):b._group()}),b.hidableStacks=function(a){return arguments.length?(l=a,b):l},b.hideStack=function(a){var c=f(a);return c&&(c.hidden=!0),b},b.showStack=function(a){var c=f(a);return c&&(c.hidden=!1),b},b.getValueAccessorByIndex=function(a){return j[a].accessor||b.valueAccessor()},b.yAxisMin=function(){var d=a.min(g(),function(a){return a.y+a.y0d?c.concat([{others:k,key:e,value:g-d}]):c};return b.cappedKeyAccessor=function(a,c){return a.others?a.key:b.keyAccessor()(a,c)},b.cappedValueAccessor=function(a,c){return a.others?a.value:b.valueAccessor()(a,c)},b.data(function(a){if(d===1/0)return b._computeOrderedGroups(a.all());var c=a.top(d);return c=b._computeOrderedGroups(c),f?f(c):c}),b.cap=function(a){return arguments.length?(d=a,b):d},b.othersLabel=function(a){return arguments.length?(e=a,b):e},b.othersGrouper=function(a){return arguments.length?(f=a,b):f},c.override(b,"onClick",function(a){a.others&&b.filter([a.others]),b._onClick(a)}),b},c.bubbleMixin=function(b){var d=.3,e=10;b.BUBBLE_NODE_CLASS="node",b.BUBBLE_CLASS="bubble",b.MIN_RADIUS=10,b=c.colorMixin(b),b.renderLabel(!0),b.data(function(a){return a.top(1/0)});var f=a.scale.linear().domain([0,100]),g=function(a){return a.r};b.r=function(a){return arguments.length?(f=a,b):f},b.radiusValueAccessor=function(a){return arguments.length?(g=a,b):g},b.rMin=function(){var c=a.min(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.rMax=function(){var c=a.max(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.bubbleR=function(a){var c=b.radiusValueAccessor()(a),d=b.r()(c);return(isNaN(d)||0>=c)&&(d=0),d};var h=function(a){return b.label()(a)},i=function(a){return b.bubbleR(a)>e?1:0};b._doRenderLabel=function(a){if(b.renderLabel()){var d=a.select("text");d.empty()&&(d=a.append("text").attr("text-anchor","middle").attr("dy",".3em").on("click",b.onClick)),d.attr("opacity",0).text(h),c.transition(d,b.transitionDuration()).attr("opacity",i)}},b.doUpdateLabels=function(a){if(b.renderLabel()){var d=a.selectAll("text").text(h);c.transition(d,b.transitionDuration()).attr("opacity",i)}};var j=function(a){return b.title()(a)};return b._doRenderTitles=function(a){if(b.renderTitle()){var c=a.select("title");c.empty()&&a.append("title").text(j)}},b.doUpdateTitles=function(a){b.renderTitle()&&a.selectAll("title").text(j)},b.minRadiusWithLabel=function(a){return arguments.length?(e=a,b):e},b.maxBubbleRelativeSize=function(a){return arguments.length?(d=a,b):d},b.fadeDeselectedArea=function(){b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(b.hasFilter()?function(a){b.isSelectedNode(a)?b.highlightSelected(this):b.fadeDeselected(this)}:function(){b.resetHighlight(this)})},b.isSelectedNode=function(a){return b.hasFilter(a.key)},b.onClick=function(a){var d=a.key;c.events.trigger(function(){b.filter(d),b.redrawGroup()})},b},c.pieChart=function(b,d){function e(){D=E?E:a.min([Q.width(),Q.height()])/2;var b,d=r(),e=t();if(a.sum(Q.data(),Q.valueAccessor())?(b=e(Q.data()),F.classed(L,!1)):(b=e([{key:M,value:1,others:[M]}]),F.classed(L,!0)),F){var g=F.selectAll("g."+K).data(b);f(g,d,b),l(b,d),p(g),q(),c.transition(F,Q.transitionDuration()).attr("transform","translate("+Q.cx()+","+Q.cy()+")")}}function f(a,b,c){var d=g(a);h(d,b),i(d),k(c,b)}function g(a){var b=a.enter().append("g").attr("class",function(a,b){return K+" _"+b});return b}function h(a,b){var d=a.append("path").attr("fill",y).on("click",z).attr("d",function(a,c){return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)})}function i(a){Q.renderTitle()&&a.append("title").text(function(a){return Q.title()(a.data)})}function j(a,b){c.transition(a,Q.transitionDuration()).attr("transform",function(a){return B(a,b)}).attr("text-anchor","middle").text(function(a){var b=a.data;return!v(b)&&!u(a)||s(a)?Q.label()(a.data):""})}function k(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);c.exit().remove();var d=c.enter().append("text").attr("class",function(a,b){var c=K+" _"+b;return I&&(c+=" external"),c}).on("click",z);j(d,b)}}function l(a,b){m(a,b),n(a,b),o(a)}function m(a,b){var d=F.selectAll("g."+K).data(a).select("path").attr("d",function(a,c){return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)}).attr("fill",y)}function n(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);j(c,b)}}function o(a){Q.renderTitle()&&F.selectAll("g."+K).data(a).select("title").text(function(a){ -return Q.title()(a.data)})}function p(a){a.exit().remove()}function q(){Q.selectAll("g."+K).each(Q.hasFilter()?function(a){s(a)?Q.highlightSelected(this):Q.fadeDeselected(this)}:function(){Q.resetHighlight(this)})}function r(){return a.svg.arc().outerRadius(D-O).innerRadius(N)}function s(a){return Q.hasFilter(Q.cappedKeyAccessor(a.data))}function t(){return a.layout.pie().sort(null).value(Q.cappedValueAccessor)}function u(a){var b=a.endAngle-a.startAngle;return isNaN(b)||P>b}function v(a){return 0===Q.cappedValueAccessor(a)}function w(b){b.innerRadius=N;var c=this._current;x(c)&&(c={startAngle:0,endAngle:0});var d=a.interpolate(c,b);return this._current=d(0),function(a){return A(d(a),0,r())}}function x(a){return!a||isNaN(a.startAngle)||isNaN(a.endAngle)}function y(a,b){return Q.getColor(a.data,b)}function z(a,b){F.attr("class")!==L&&Q.onClick(a.data,b)}function A(a,b,c){var d=c(a,b);return d.indexOf("NaN")>=0&&(d="M0,0"),d}function B(b,c){var d;return d=I?a.svg.arc().outerRadius(D-O+I).innerRadius(D-O+I).centroid(b):c.centroid(b),isNaN(d[0])||isNaN(d[1])?"translate(0,0)":"translate("+d+")"}function C(b,c){Q.selectAll("g.pie-slice").each(function(d){b.name===d.data.key&&a.select(this).classed("highlight",c)})}var D,E,F,G,H,I,J=.5,K="pie-slice",L="empty-chart",M="empty",N=0,O=0,P=J,Q=c.capMixin(c.colorMixin(c.baseMixin({})));return Q.colorAccessor(Q.cappedKeyAccessor),Q.title(function(a){return Q.cappedKeyAccessor(a)+": "+Q.cappedValueAccessor(a)}),Q.slicesCap=Q.cap,Q.label(Q.cappedKeyAccessor),Q.renderLabel(!0),Q.transitionDuration(350),Q._doRender=function(){return Q.resetSvg(),F=Q.svg().append("g").attr("transform","translate("+Q.cx()+","+Q.cy()+")"),e(),Q},Q.externalRadiusPadding=function(a){return arguments.length?(O=a,Q):O},Q.innerRadius=function(a){return arguments.length?(N=a,Q):N},Q.radius=function(a){return arguments.length?(E=a,Q):E},Q.cx=function(a){return arguments.length?(G=a,Q):G||Q.width()/2},Q.cy=function(a){return arguments.length?(H=a,Q):H||Q.height()/2},Q._doRedraw=function(){return e(),Q},Q.minAngleForLabel=function(a){return arguments.length?(P=a,Q):P},Q.emptyTitle=function(a){return 0===arguments.length?M:(M=a,Q)},Q.externalLabels=function(a){return 0===arguments.length?I:(I=a?a:void 0,Q)},Q.legendables=function(){return Q.data().map(function(a,b){var c={name:a.key,data:a.value,others:a.others,chart:Q};return c.color=Q.getColor(a,b),c})},Q.legendHighlight=function(a){C(a,!0)},Q.legendReset=function(a){C(a,!1)},Q.legendToggle=function(a){Q.onClick({key:a.name,others:a.others})},Q.anchor(b,d)},c.barChart=function(b,d){function e(a){return c.utils.safeNumber(Math.abs(l.y()(a.y+a.y0)-l.y()(a.y0)))}function f(a,b,d){var f=a.selectAll("rect.bar").data(d.values,c.pluck("x")),g=f.enter().append("rect").attr("class","bar").attr("fill",c.pluck("data",l.getColor)).attr("y",l.yAxisHeight()).attr("height",0);l.renderTitle()&&g.append("title").text(c.pluck("data",l.title(d.name))),l.isOrdinal()&&f.on("click",l.onClick),c.transition(f,l.transitionDuration()).attr("x",function(a){var b=l.x()(a.x);return n&&(b-=i/2),l.isOrdinal()&&void 0!==m&&(b+=m/2),c.utils.safeNumber(b)}).attr("y",function(a){var b=l.y()(a.y+a.y0);return a.y<0&&(b-=e(a)),c.utils.safeNumber(b)}).attr("width",i).attr("height",function(a){return e(a)}).attr("fill",c.pluck("data",l.getColor)).select("title").text(c.pluck("data",l.title(d.name))),c.transition(f.exit(),l.transitionDuration()).attr("height",0).remove()}function g(){if(void 0===i){var a=l.xUnitCount();i=Math.floor(l.isOrdinal()&&void 0===m?l.x().rangeBand():m?(l.xAxisLength()-(a-1)*m)/a:l.xAxisLength()/(1+l.barPadding())/a),(i===1/0||isNaN(i)||j>i)&&(i=j)}}function h(b,c){return function(){var d=a.select(this),e=d.attr("fill")===b;return c?!e:e}}var i,j=1,k=2,l=c.stackMixin(c.coordinateGridMixin({})),m=k,n=!1,o=!1;return c.override(l,"rescale",function(){return l._rescale(),i=void 0,l}),c.override(l,"render",function(){return l.round()&&n&&!o&&c.logger.warn("By default, brush rounding is disabled if bars are centered. See dc.js bar chart API documentation for details."),l._render()}),l.plotData=function(){var b=l.chartBodyG().selectAll("g.stack").data(l.data());g(),b.enter().append("g").attr("class",function(a,b){return"stack _"+b}),b.each(function(b,c){var d=a.select(this);f(d,c,b)})},l.fadeDeselectedArea=function(){var a=l.chartBodyG().selectAll("rect.bar"),b=l.brush().extent();if(l.isOrdinal())l.hasFilter()?(a.classed(c.constants.SELECTED_CLASS,function(a){return l.hasFilter(a.x)}),a.classed(c.constants.DESELECTED_CLASS,function(a){return!l.hasFilter(a.x)})):(a.classed(c.constants.SELECTED_CLASS,!1),a.classed(c.constants.DESELECTED_CLASS,!1));else if(l.brushIsEmpty(b))a.classed(c.constants.DESELECTED_CLASS,!1);else{var d=b[0],e=b[1];a.classed(c.constants.DESELECTED_CLASS,function(a){return a.x=e})}},l.centerBar=function(a){return arguments.length?(n=a,l):n},c.override(l,"onClick",function(a){l._onClick(a.data)}),l.barPadding=function(a){return arguments.length?(l._rangeBandPadding(a),m=void 0,l):l._rangeBandPadding()},l._useOuterPadding=function(){return void 0===m},l.outerPadding=l._outerRangeBandPadding,l.gap=function(a){return arguments.length?(m=a,l):m},l.extendBrush=function(){var a=l.brush().extent();return!l.round()||n&&!o||(a[0]=a.map(l.round())[0],a[1]=a.map(l.round())[1],l.chartBodyG().select(".brush").call(l.brush().extent(a))),a},l.alwaysUseRounding=function(a){return arguments.length?(o=a,l):o},l.legendHighlight=function(a){l.isLegendableHidden(a)||l.g().selectAll("rect.bar").classed("highlight",h(a.color)).classed("fadeout",h(a.color,!0))},l.legendReset=function(){l.g().selectAll("rect.bar").classed("highlight",!1).classed("fadeout",!1)},c.override(l,"xAxisMax",function(){var a=this._xAxisMax();if("resolution"in l.xUnits()){var b=l.xUnits().resolution;a+=b}return a}),l.anchor(b,d)},c.lineChart=function(b,d){function e(a,b){return z.getColor.call(a,a.values,b)}function f(b,d){var f=a.svg.line().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).interpolate(F).tension(G);r&&f.defined(r);var g=b.append("path").attr("class","line").attr("stroke",e);s&&g.attr("stroke-dasharray",s),c.transition(d.select("path.line"),z.transitionDuration()).attr("stroke",e).attr("d",function(a){return h(f(a.values))})}function g(b,d){if(A){var f=a.svg.area().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).y0(function(a){return z.y()(a.y0)}).interpolate(F).tension(G);r&&f.defined(r),b.append("path").attr("class","area").attr("fill",e).attr("d",function(a){return h(f(a.values))}),c.transition(d.select("path.area"),z.transitionDuration()).attr("fill",e).attr("d",function(a){return h(f(a.values))})}}function h(a){return!a||a.indexOf("NaN")>=0?"M0,0":a}function i(b,d){if(!z.brushOn()&&z.xyTipsOn()){var e=u+"-list",f=b.select("g."+e);f.empty()&&(f=b.append("g").attr("class",e)),d.each(function(b,d){var e=b.values;r&&(e=e.filter(r));var g=f.select("g."+u+"._"+d);g.empty()&&(g=f.append("g").attr("class",u+" _"+d)),j(g);var h=g.selectAll("circle."+v).data(e,c.pluck("x"));h.enter().append("circle").attr("class",v).attr("r",m()).style("fill-opacity",D).style("stroke-opacity",E).on("mousemove",function(){var b=a.select(this);k(b),l(b,g)}).on("mouseout",function(){var b=a.select(this);n(b),o(g)}),h.attr("cx",function(a){return c.utils.safeNumber(z.x()(a.x))}).attr("cy",function(a){return c.utils.safeNumber(z.y()(a.y+a.y0))}).attr("fill",z.getColor).call(p,b),h.exit().remove()})}}function j(a){var b=a.select("path."+w).empty()?a.append("path").attr("class",w):a.select("path."+w);b.style("display","none").attr("stroke-dasharray","5,5");var c=a.select("path."+x).empty()?a.append("path").attr("class",x):a.select("path."+x);c.style("display","none").attr("stroke-dasharray","5,5")}function k(a){return a.style("fill-opacity",.8),a.style("stroke-opacity",.8),a.attr("r",B),a}function l(a,b){var c=a.attr("cx"),d=a.attr("cy"),e=z._yAxisX()-z.margins().left,f="M"+e+" "+d+"L"+c+" "+d,g="M"+c+" "+z.yAxisHeight()+"L"+c+" "+d;b.select("path."+w).style("display","").attr("d",f),b.select("path."+x).style("display","").attr("d",g)}function m(){return C||B}function n(a){a.style("fill-opacity",D).style("stroke-opacity",E).attr("r",m())}function o(a){a.select("path."+w).style("display","none"),a.select("path."+x).style("display","none")}function p(a,b){z.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(c.pluck("data",z.title(b.name))))}function q(b,c,d){return function(){var e=a.select(this),f=e.attr("stroke")===b&&e.attr("stroke-dasharray")===(c instanceof Array?c.join(","):null)||e.attr("fill")===b;return d?!f:f}}var r,s,t=5,u="dc-tooltip",v="dot",w="yRef",x="xRef",y=1e-6,z=c.stackMixin(c.coordinateGridMixin({})),A=!1,B=t,C=null,D=y,E=y,F="linear",G=.7,H=!0;return z.transitionDuration(500),z._rangeBandPadding(1),z.plotData=function(){var a=z.chartBodyG(),b=a.selectAll("g.stack-list");b.empty()&&(b=a.append("g").attr("class","stack-list"));var c=b.selectAll("g.stack").data(z.data()),d=c.enter().append("g").attr("class",function(a,b){return"stack _"+b});f(d,c),g(d,c),i(a,c)},z.interpolate=function(a){return arguments.length?(F=a,z):F},z.tension=function(a){return arguments.length?(G=a,z):G},z.defined=function(a){return arguments.length?(r=a,z):r},z.dashStyle=function(a){return arguments.length?(s=a,z):s},z.renderArea=function(a){return arguments.length?(A=a,z):A},z.xyTipsOn=function(a){return arguments.length?(H=a,z):H},z.dotRadius=function(a){return arguments.length?(B=a,z):B},z.renderDataPoints=function(a){return arguments.length?(a?(D=a.fillOpacity||.8,E=a.strokeOpacity||.8,C=a.radius||2):(D=y,E=y,C=null),z):{fillOpacity:D,strokeOpacity:E,radius:C}},z.legendHighlight=function(a){z.isLegendableHidden(a)||z.g().selectAll("path.line, path.area").classed("highlight",q(a.color,a.dashstyle)).classed("fadeout",q(a.color,a.dashstyle,!0))},z.legendReset=function(){z.g().selectAll("path.line, path.area").classed("highlight",!1).classed("fadeout",!1)},c.override(z,"legendables",function(){var a=z._legendables();return s?a.map(function(a){return a.dashstyle=s,a}):a}),z.anchor(b,d)},c.dataCount=function(b,d){var e=a.format(",d"),f=c.baseMixin({}),g={some:"",all:""};return f.html=function(a){return arguments.length?(a.all&&(g.all=a.all),a.some&&(g.some=a.some),f):g},f.formatNumber=function(a){return arguments.length?(e=a,f):e},f._doRender=function(){var a=f.dimension().size(),b=f.group().value(),c=e(a),d=e(b);return a===b&&""!==g.all?f.root().html(g.all.replace("%total-count",c).replace("%filter-count",d)):""!==g.some?f.root().html(g.some.replace("%total-count",c).replace("%filter-count",d)):(f.selectAll(".total-count").text(c),f.selectAll(".filter-count").text(d)),f},f._doRedraw=function(){return f._doRender()},f.anchor(b,d)},c.dataTable=function(b,d){function e(){var a=!0;if(o.forEach(function(b){a&="function"==typeof b}),!a){m.selectAll("th").remove();var b=m.root().selectAll("th").data(o),c=b.enter().append("th");c.attr("class",l).html(function(a){return m._doColumnHeaderFormat(a)})}var d=m.root().selectAll("tbody").data(f(),function(a){return m.keyAccessor()(a)}),e=d.enter().append("tbody");return r===!0&&e.append("tr").attr("class",k).append("td").attr("class",h).attr("colspan",o.length).html(function(a){return m.keyAccessor()(a)}),d.exit().remove(),e}function f(){var b;return b=q===a.ascending?m.dimension().bottom(n):m.dimension().top(n),a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}))}function g(a){var b=a.order().selectAll("tr."+i).data(function(a){return a.values}),c=b.enter().append("tr").attr("class",i);return o.forEach(function(a,b){c.append("td").attr("class",j+" _"+b).html(function(b){return m._doColumnValueFormat(a,b)})}),b.exit().remove(),b}var h="dc-table-label",i="dc-table-row",j="dc-table-column",k="dc-table-group",l="dc-table-head",m=c.baseMixin({}),n=25,o=[],p=function(a){return a},q=a.ascending,r=!0;return m._doRender=function(){return m.selectAll("tbody").remove(),g(e()),m},m._doColumnValueFormat=function(a,b){return"function"==typeof a?a(b):"string"==typeof a?b[a]:a.format(b)},m._doColumnHeaderFormat=function(a){return"function"==typeof a?m._doColumnHeaderFnToString(a):"string"==typeof a?m._doColumnHeaderCapitalize(a):String(a.label)},m._doColumnHeaderCapitalize=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},m._doColumnHeaderFnToString=function(a){var b=String(a),c=b.indexOf("return ");if(c>=0){var d=b.lastIndexOf(";");if(d>=0){b=b.substring(c+7,d);var e=b.indexOf("numberFormat");e>=0&&(b=b.replace("numberFormat",""))}}return b},m._doRedraw=function(){return m._doRender()},m.size=function(a){return arguments.length?(n=a,m):n},m.columns=function(a){return arguments.length?(o=a,m):o},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.showGroups=function(a){return arguments.length?(r=a,m):!0},m.anchor(b,d)},c.dataGrid=function(b,d){function e(){var a=m.root().selectAll("div."+l).data(f(),function(a){return m.keyAccessor()(a)}),b=a.enter().append("div").attr("class",l);return s&&b.html(function(a){return s(a)}),a.exit().remove(),b}function f(){var b=m.dimension().top(n);return a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}).slice(r,h))}function g(a){var b=a.order().selectAll("div."+j).data(function(a){return a.values});return b.enter().append("div").attr("class",j).html(function(a){return o(a)}),b.exit().remove(),b}var h,i="dc-grid-label",j="dc-grid-item",k="dc-grid-group",l="dc-grid-top",m=c.baseMixin({}),n=999,o=function(a){return"you need to provide an html() handling param: "+JSON.stringify(a)},p=function(a){return a},q=a.ascending,r=0,s=function(a){return"

"+m.keyAccessor()(a)+"

"};return m._doRender=function(){return m.selectAll("div."+l).remove(),g(e()),m},m._doRedraw=function(){return m._doRender()},m.beginSlice=function(a){return arguments.length?(r=a,m):r},m.endSlice=function(a){return arguments.length?(h=a,m):h},m.size=function(a){return arguments.length?(n=a,m):n},m.html=function(a){return arguments.length?(o=a,m):o},m.htmlGroup=function(a){return arguments.length?(s=a,m):s},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.anchor(b,d)},c.bubbleChart=function(a,b){function d(a){var b=a.enter().append("g");b.attr("class",i.BUBBLE_NODE_CLASS).attr("transform",k).append("circle").attr("class",function(a,b){return i.BUBBLE_CLASS+" _"+b}).on("click",i.onClick).attr("fill",i.getColor).attr("r",0),c.transition(a,i.transitionDuration()).selectAll("circle."+i.BUBBLE_CLASS).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i._doRenderLabel(b),i._doRenderTitles(b)}function e(a){c.transition(a,i.transitionDuration()).attr("transform",k).selectAll("circle."+i.BUBBLE_CLASS).attr("fill",i.getColor).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i.doUpdateLabels(a),i.doUpdateTitles(a)}function f(a){a.exit().remove()}function g(a){var b=i.x()(i.keyAccessor()(a));return isNaN(b)&&(b=0),b}function h(a){var b=i.y()(i.valueAccessor()(a));return isNaN(b)&&(b=0),b}var i=c.bubbleMixin(c.coordinateGridMixin({})),j=!1;i.transitionDuration(750);var k=function(a){return"translate("+g(a)+","+h(a)+")"};return i.elasticRadius=function(a){return arguments.length?(j=a,i):j},i.plotData=function(){j&&i.r().domain([i.rMin(),i.rMax()]),i.r().range([i.MIN_RADIUS,i.xAxisLength()*i.maxBubbleRelativeSize()]);var a=i.chartBodyG().selectAll("g."+i.BUBBLE_NODE_CLASS).data(i.data(),function(a){return a.key});d(a),e(a),f(a),i.fadeDeselectedArea()},i.renderBrush=function(){},i.redrawBrush=function(){i.fadeDeselectedArea()},i.anchor(a,b)},c.compositeChart=function(b,d){function e(){(void 0===u.rightY()||u.elasticY())&&(void 0===u.rightY()&&u.rightY(a.scale.linear()),u.rightY().domain([l(),o()]).rangeRound([u.yAxisHeight(),0])),u.rightY().range([u.yAxisHeight(),0]),u.rightYAxis(u.rightYAxis().scale(u.rightY())),u.rightYAxis().orient("right")}function f(){(void 0===u.y()||u.elasticY())&&(void 0===u.y()&&u.y(a.scale.linear()),u.y().domain([k(),n()]).rangeRound([u.yAxisHeight(),0])),u.y().range([u.yAxisHeight(),0]),u.yAxis(u.yAxis().scale(u.y())),u.yAxis().orient("left")}function g(a,b){a._generateG(u.g()),a.g().attr("class",s+" _"+b)}function h(){return v.filter(function(a){return!a.useRightYAxis()})}function i(){return v.filter(function(a){return a.useRightYAxis()})}function j(a){return a.map(function(a){return a.yAxisMin()})}function k(){return a.min(j(h()))}function l(){return a.min(j(i()))}function m(a){return a.map(function(a){return a.yAxisMax()})}function n(){return c.utils.add(a.max(m(h())),u.yAxisPadding())}function o(){return c.utils.add(a.max(m(i())),u.yAxisPadding())}function p(){return v.map(function(a){return a.xAxisMin()})}function q(){return v.map(function(a){return a.xAxisMax()})}var r,s="sub",t=12,u=c.coordinateGridMixin({}),v=[],w={},x=!1,y=!0,z=a.svg.axis(),A=0,B=t,C=!1;return u._mandatoryAttributes([]),u.transitionDuration(500),c.override(u,"_generateG",function(){for(var a=this.__generateG(),b=0;b0&&!C?u._renderHorizontalGridLinesForAxis(u.g(),u.y(),u.yAxis()):i().length>0&&u._renderHorizontalGridLinesForAxis(u.g(),r,z)},u.renderYAxis=function(){0!==h().length&&(u.renderYAxisAt("y",u.yAxis(),u.margins().left),u.renderYAxisLabel("y",u.yAxisLabel(),-90)),0!==i().length&&(u.renderYAxisAt("yr",u.rightYAxis(),u.width()-u.margins().right),u.renderYAxisLabel("yr",u.rightYAxisLabel(),90,u.width()-B))},u.plotData=function(){for(var a=0;a0&&(b[0]=0),t=a.scale.linear().domain(b).range([0,G.effectiveWidth()])}H.scale(t)}function f(){var a=s.select("g.axis");e(),a.empty()&&(a=s.append("g").attr("class","axis").attr("transform","translate(0, "+G.effectiveHeight()+")")),c.transition(a,G.transitionDuration()).call(H)}function g(){s.selectAll("g.tick").select("line.grid-line").remove(),s.selectAll("g.tick").append("line").attr("class","grid-line").attr("x1",0).attr("y1",0).attr("x2",0).attr("y2",function(){return-G.effectiveHeight()})}function h(){v=G.data(),f(),g();var a=s.selectAll("g."+D).data(v);i(a),j(a),l(a)}function i(a){var b=a.enter().append("g").attr("class",function(a,b){return D+" _"+b});b.append("rect").attr("width",0),n(b),o(a)}function j(a){a.exit().remove()}function k(){var a=t(0);return a===-(1/0)||a!==a?t(1):a}function l(a){var b,d=v.length;b=C?C:(G.effectiveHeight()-(d+1)*B)/d,y||(x=b/2);var e=a.attr("transform",function(a,c){return"translate(0,"+((c+1)*B+c*b)+")"}).select("rect").attr("height",b).attr("fill",G.getColor).on("click",p).classed("deselected",function(a){return G.hasFilter()?!r(a):!1}).classed("selected",function(a){return G.hasFilter()?r(a):!1});c.transition(e,G.transitionDuration()).attr("width",function(a){return Math.abs(k()-t(G.valueAccessor()(a)))}).attr("transform",q),m(a),o(a)}function m(a){G.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(G.title()))}function n(a){G.renderLabel()&&a.append("text").on("click",p),G.renderTitleLabel()&&a.append("text").attr("class",E).on("click",p)}function o(a){if(G.renderLabel()){var b=a.select("text").attr("x",w).attr("y",x).attr("dy",z).on("click",p).attr("class",function(a,b){return D+" _"+b}).text(function(a){return G.label()(a)});c.transition(b,G.transitionDuration()).attr("transform",q)}if(G.renderTitleLabel()){var d=a.select("."+E).attr("x",G.effectiveWidth()-A).attr("y",x).attr("text-anchor","end").on("click",p).attr("class",function(a,b){return E+" _"+b}).text(function(a){return G.title()(a)});c.transition(d,G.transitionDuration()).attr("transform",q)}}function p(a){G.onClick(a)}function q(a){var b=t(G.cappedValueAccessor(a)),c=k(),d=b>c?c:b;return"translate("+d+",0)"}function r(a){return G.hasFilter(G.cappedKeyAccessor(a))}var s,t,u,v,w=10,x=15,y=!1,z="0.35em",A=2,B=5,C=!1,D="row",E="titlerow",F=!1,G=c.capMixin(c.marginMixin(c.colorMixin(c.baseMixin({})))),H=a.svg.axis().orient("bottom");return G.rowsCap=G.cap,G._doRender=function(){return G.resetSvg(),s=G.svg().append("g").attr("transform","translate("+G.margins().left+","+G.margins().top+")"),h(),G},G.title(function(a){return G.cappedKeyAccessor(a)+": "+G.cappedValueAccessor(a)}),G.label(G.cappedKeyAccessor),G.x=function(a){return arguments.length?(t=a,G):t},G.renderTitleLabel=function(a){return arguments.length?(F=a,G):F},G._doRedraw=function(){return h(),G},G.xAxis=function(){return H},G.fixedBarHeight=function(a){return arguments.length?(C=a,G):C},G.gap=function(a){return arguments.length?(B=a,G):B},G.elasticX=function(a){return arguments.length?(u=a,G):u},G.labelOffsetX=function(a){return arguments.length?(w=a,G):w},G.labelOffsetY=function(a){return arguments.length?(x=a,y=!0,G):x},G.titleLabelOffsetX=function(a){return arguments.length?(A=a,G):A},G.anchor(b,d)},c.legend=function(){function a(){return j+i}var b,d,e=2,f={},g=0,h=0,i=12,j=5,k=!1,l=560,m=70,n=!1;return f.parent=function(a){return arguments.length?(b=a,f):b},f.render=function(){b.svg().select("g.dc-legend").remove(),d=b.svg().append("g").attr("class","dc-legend").attr("transform","translate("+g+","+h+")");var f=b.legendables(),o=d.selectAll("g.dc-legend-item").data(f).enter().append("g").attr("class","dc-legend-item").on("mouseover",function(a){b.legendHighlight(a)}).on("mouseout",function(a){b.legendReset(a)}).on("click",function(a){a.chart.legendToggle(a)});d.selectAll("g.dc-legend-item").classed("fadeout",function(a){return a.chart.isLegendableHidden(a)}),f.some(c.pluck("dashstyle"))?o.append("line").attr("x1",0).attr("y1",i/2).attr("x2",i).attr("y2",i/2).attr("stroke-width",2).attr("stroke-dasharray",c.pluck("dashstyle")).attr("stroke",c.pluck("color")):o.append("rect").attr("width",i).attr("height",i).attr("fill",function(a){return a?a.color:"blue"}),o.append("text").text(c.pluck("name")).attr("x",i+e).attr("y",function(){return i/2+(this.clientHeight?this.clientHeight:13)/2-2});var p=0,q=0;o.attr("transform",function(b,c){if(k){var d="translate("+p+","+q*a()+")",e=n===!0?this.getBBox().width+j:m;return p+e>=l?(++q,p=0):p+=e,d}return"translate(0,"+c*a()+")"})},f.x=function(a){return arguments.length?(g=a,f):g},f.y=function(a){return arguments.length?(h=a,f):h},f.gap=function(a){return arguments.length?(j=a,f):j},f.itemHeight=function(a){return arguments.length?(i=a,f):i},f.horizontal=function(a){return arguments.length?(k=a,f):k},f.legendWidth=function(a){return arguments.length?(l=a,f):l},f.itemWidth=function(a){return arguments.length?(m=a,f):m},f.autoItemWidth=function(a){return arguments.length?(n=a,f):n},f},c.scatterPlot=function(b,d){function e(b,d){var e=g.selectAll(".chart-body path.symbol").filter(function(){return b(a.select(this))}),f=h.size();h.size(Math.pow(d,2)),c.transition(e,g.transitionDuration()).attr("d",h),h.size(f)}function f(a){var b=g.selectAll(".chart-body path.symbol").each(function(b){this.filtered=a&&a.isFiltered(b.key)});c.transition(b,g.transitionDuration()).attr("d",h)}var g=c.coordinateGridMixin({}),h=a.svg.symbol(),i=function(a){return a.value},j=g.keyAccessor();g.keyAccessor(function(a){return j(a)[0]}),g.valueAccessor(function(a){return j(a)[1]}),g.colorAccessor(function(){return g._groupName});var k=function(a){return"translate("+g.x()(g.keyAccessor()(a))+","+g.y()(g.valueAccessor()(a))+")"},l=3,m=5,n=0;return h.size(function(a){return i(a)?this.filtered?Math.pow(m,2):Math.pow(l,2):n}),c.override(g,"_filter",function(a){return arguments.length?g.__filter(c.filters.RangedTwoDimensionalFilter(a)):g.__filter()}),g.plotData=function(){var a=g.chartBodyG().selectAll("path.symbol").data(g.data());a.enter().append("path").attr("class","symbol").attr("opacity",0).attr("fill",g.getColor).attr("transform",k),c.transition(a,g.transitionDuration()).attr("opacity",function(a){return i(a)?1:0}).attr("fill",g.getColor).attr("transform",k).attr("d",h),c.transition(a.exit(),g.transitionDuration()).attr("opacity",0).remove()},g.existenceAccessor=function(a){return arguments.length?(i=a,this):i},g.symbol=function(a){return arguments.length?(h.type(a),g):h.type()},g.symbolSize=function(a){return arguments.length?(l=a,g):l},g.highlightedSize=function(a){return arguments.length?(m=a,g):m},g.hiddenSize=function(a){return arguments.length?(n=a,g):n},g.legendables=function(){return[{chart:g,name:g._groupName,color:g.getColor()}]},g.legendHighlight=function(b){e(function(a){return a.attr("fill")===b.color},m),g.selectAll(".chart-body path.symbol").filter(function(){ -return a.select(this).attr("fill")!==b.color}).classed("fadeout",!0)},g.legendReset=function(b){e(function(a){return a.attr("fill")===b.color},l),g.selectAll(".chart-body path.symbol").filter(function(){return a.select(this).attr("fill")!==b.color}).classed("fadeout",!1)},g.setHandlePaths=function(){},g.extendBrush=function(){var a=g.brush().extent();return g.round()&&(a[0]=a[0].map(g.round()),a[1]=a[1].map(g.round()),g.g().select(".brush").call(g.brush().extent(a))),a},g.brushIsEmpty=function(a){return g.brush().empty()||!a||a[0][0]>=a[1][0]||a[0][1]>=a[1][1]},g._brushing=function(){var a=g.extendBrush();if(g.redrawBrush(g.g()),g.brushIsEmpty(a))c.events.trigger(function(){g.filter(null),g.redrawGroup()}),f(!1);else{var b=c.filters.RangedTwoDimensionalFilter(a);c.events.trigger(function(){g.filter(null),g.filter(b),g.redrawGroup()},c.constants.EVENT_DELAY),f(b)}},g.setBrushY=function(a){a.call(g.brush().y(g.y()))},g.anchor(b,d)},c.numberDisplay=function(b,d){var e="number-display",f=a.format(".2s"),g=c.baseMixin({}),h={one:"",some:"",none:""};return g._mandatoryAttributes(["group"]),g.html=function(a){return arguments.length?(a.none?h.none=a.none:a.one?h.none=a.one:a.some&&(h.none=a.some),a.one?h.one=a.one:a.some&&(h.one=a.some),a.some?h.some=a.some:a.one&&(h.some=a.one),g):h},g.value=function(){return g.data()},g.data(function(a){var b=a.value?a.value():a.top(1)[0];return g.valueAccessor()(b)}),g.transitionDuration(250),g._doRender=function(){var b=g.value(),c=g.selectAll("."+e);c.empty()&&(c=c.data([0]).enter().append("span").attr("class",e)),c.transition().duration(g.transitionDuration()).ease("quad-out-in").tween("text",function(){var c=a.interpolateNumber(this.lastValue||0,b);return this.lastValue=b,function(a){var d=null,e=g.formatNumber()(c(a));0===b&&""!==h.none?d=h.none:1===b&&""!==h.one?d=h.one:""!==h.some&&(d=h.some),this.innerHTML=d?d.replace("%number",e):e}})},g._doRedraw=function(){return g._doRender()},g.formatNumber=function(a){return arguments.length?(f=a,g):f},g.anchor(b,d)},c.heatMap=function(b,d){function e(a,b){var d=p.selectAll(".box-group").filter(function(c){return c.key[a]===b}),e=d.filter(function(a){return!p.hasFilter(a.key)});c.events.trigger(function(){e.empty()?d.each(function(a){p.filter(a.key)}):e.each(function(a){p.filter(a.key)}),p.redrawGroup()})}var f,g,h,i=6.75,j=a.ascending,k=a.ascending,l=a.scale.ordinal(),m=a.scale.ordinal(),n=i,o=i,p=c.colorMixin(c.marginMixin(c.baseMixin({})));p._mandatoryAttributes(["group"]),p.title(p.colorAccessor());var q=function(a){return a},r=function(a){return a};p.colsLabel=function(a){return arguments.length?(q=a,p):q},p.rowsLabel=function(a){return arguments.length?(r=a,p):r};var s=function(a){e(0,a)},t=function(a){e(1,a)},u=function(a){var b=a.key;c.events.trigger(function(){p.filter(b),p.redrawGroup()})};return c.override(p,"filter",function(a){return arguments.length?p._filter(c.filters.TwoDimensionalFilter(a)):p._filter()}),p.rows=function(a){return arguments.length?(h=a,p):h},p.rowOrdering=function(a){return arguments.length?(k=a,p):k},p.cols=function(a){return arguments.length?(g=a,p):g},p.colOrdering=function(a){return arguments.length?(j=a,p):j},p._doRender=function(){return p.resetSvg(),f=p.svg().append("g").attr("class","heatmap").attr("transform","translate("+p.margins().left+","+p.margins().top+")"),p._doRedraw()},p._doRedraw=function(){var a=p.data(),b=p.rows()||a.map(p.valueAccessor()),d=p.cols()||a.map(p.keyAccessor());k&&(b=b.sort(k)),j&&(d=d.sort(j)),b=m.domain(b),d=l.domain(d);var e=b.domain().length,g=d.domain().length,h=Math.floor(p.effectiveWidth()/g),i=Math.floor(p.effectiveHeight()/e);d.rangeRoundBands([0,p.effectiveWidth()]),b.rangeRoundBands([p.effectiveHeight(),0]);var q=f.selectAll("g.box-group").data(p.data(),function(a,b){return p.keyAccessor()(a,b)+"\x00"+p.valueAccessor()(a,b)}),r=q.enter().append("g").attr("class","box-group");r.append("rect").attr("class","heat-box").attr("fill","white").on("click",p.boxOnClick()),p.renderTitle()&&(r.append("title"),q.selectAll("title").text(p.title())),c.transition(q.selectAll("rect"),p.transitionDuration()).attr("x",function(a,b){return d(p.keyAccessor()(a,b))}).attr("y",function(a,c){return b(p.valueAccessor()(a,c))}).attr("rx",n).attr("ry",o).attr("fill",p.getColor).attr("width",h).attr("height",i),q.exit().remove();var s=f.selectAll("g.cols");s.empty()&&(s=f.append("g").attr("class","cols axis"));var t=s.selectAll("text").data(d.domain());t.enter().append("text").attr("x",function(a){return d(a)+h/2}).style("text-anchor","middle").attr("y",p.effectiveHeight()).attr("dy",12).on("click",p.xAxisOnClick()).text(p.colsLabel()),c.transition(t,p.transitionDuration()).text(p.colsLabel()).attr("x",function(a){return d(a)+h/2}),t.exit().remove();var u=f.selectAll("g.rows");u.empty()&&(u=f.append("g").attr("class","rows axis"));var v=u.selectAll("text").data(b.domain());return v.enter().append("text").attr("dy",6).style("text-anchor","end").attr("x",0).attr("dx",-2).on("click",p.yAxisOnClick()).text(p.rowsLabel()),c.transition(v,p.transitionDuration()).text(p.rowsLabel()).attr("y",function(a){return b(a)+i/2}),v.exit().remove(),p.selectAll("g.box-group").each(p.hasFilter()?function(a){p.isSelectedNode(a)?p.highlightSelected(this):p.fadeDeselected(this)}:function(){p.resetHighlight(this)}),p},p.boxOnClick=function(a){return arguments.length?(u=a,p):u},p.xAxisOnClick=function(a){return arguments.length?(s=a,p):s},p.yAxisOnClick=function(a){return arguments.length?(t=a,p):t},p.xBorderRadius=function(a){return arguments.length?(n=a,p):n},p.yBorderRadius=function(a){return arguments.length?(o=a,p):o},p.isSelectedNode=function(a){return p.hasFilter(a.key)},p.anchor(b,d)},function(){function b(a){return[0,a.length-1]}function c(b){return[a.quantile(b,.25),a.quantile(b,.5),a.quantile(b,.75)]}a.box=function(){function d(b){b.each(function(b,c){b=b.map(i).sort(a.ascending);var d=a.select(this),m=b.length,n=b[0],o=b[m-1],p=b.quartiles=k(b),q=j&&j.call(this,b,c),r=q&&q.map(function(a){return b[a]}),s=q?a.range(0,q[0]).concat(a.range(q[1]+1,m)):a.range(m),t=a.scale.linear().domain(h&&h.call(this,b,c)||[n,o]).range([f,0]),u=this.__chart__||a.scale.linear().domain([0,1/0]).range(t.range());this.__chart__=t;var v=d.selectAll("line.center").data(r?[r]:[]);v.enter().insert("line","rect").attr("class","center").attr("x1",e/2).attr("y1",function(a){return u(a[0])}).attr("x2",e/2).attr("y2",function(a){return u(a[1])}).style("opacity",1e-6).transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.exit().transition().duration(g).style("opacity",1e-6).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}).remove();var w=d.selectAll("rect.box").data([p]);w.enter().append("rect").attr("class","box").attr("x",0).attr("y",function(a){return u(a[2])}).attr("width",e).attr("height",function(a){return u(a[0])-u(a[2])}).transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])}),w.transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])});var x=d.selectAll("line.median").data([p[1]]);x.enter().append("line").attr("class","median").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).transition().duration(g).attr("y1",t).attr("y2",t),x.transition().duration(g).attr("y1",t).attr("y2",t);var y=d.selectAll("line.whisker").data(r||[]);y.enter().insert("line","circle, text").attr("class","whisker").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).style("opacity",1e-6).transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.exit().transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1e-6).remove();var z=d.selectAll("circle.outlier").data(s,Number);z.enter().insert("circle","text").attr("class","outlier").attr("r",5).attr("cx",e/2).attr("cy",function(a){return u(b[a])}).style("opacity",1e-6).transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.exit().transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1e-6).remove();var A=l||t.tickFormat(8),B=d.selectAll("text.box").data(p);B.enter().append("text").attr("class","box").attr("dy",".3em").attr("dx",function(a,b){return 1&b?6:-6}).attr("x",function(a,b){return 1&b?e:0}).attr("y",u).attr("text-anchor",function(a,b){return 1&b?"start":"end"}).text(A).transition().duration(g).attr("y",t),B.transition().duration(g).text(A).attr("y",t);var C=d.selectAll("text.whisker").data(r||[]);C.enter().append("text").attr("class","whisker").attr("dy",".3em").attr("dx",6).attr("x",e).attr("y",u).text(A).style("opacity",1e-6).transition().duration(g).attr("y",t).style("opacity",1),C.transition().duration(g).text(A).attr("y",t).style("opacity",1),C.exit().transition().duration(g).attr("y",t).style("opacity",1e-6).remove()}),a.timer.flush()}var e=1,f=1,g=0,h=null,i=Number,j=b,k=c,l=null;return d.width=function(a){return arguments.length?(e=a,d):e},d.height=function(a){return arguments.length?(f=a,d):f},d.tickFormat=function(a){return arguments.length?(l=a,d):l},d.duration=function(a){return arguments.length?(g=a,d):g},d.domain=function(b){return arguments.length?(h=null===b?b:a.functor(b),d):h},d.value=function(a){return arguments.length?(i=a,d):i},d.whiskers=function(a){return arguments.length?(j=a,d):j},d.quartiles=function(a){return arguments.length?(k=a,d):k},d}}(),c.boxPlot=function(b,d){function e(a){return function(b){for(var c=b.quartiles[0],d=b.quartiles[2],e=(d-c)*a,f=-1,g=b.length;b[++f]d+e;);return[f,g]}}function f(a){var b=a.enter().append("g");b.attr("class","box").attr("transform",p).call(m).on("click",function(a){i.filter(a.key),i.redrawGroup()})}function g(b){c.transition(b,i.transitionDuration()).attr("transform",p).call(m).each(function(){a.select(this).select("rect.box").attr("fill",i.getColor)})}function h(a){a.exit().remove().call(m)}var i=c.coordinateGridMixin({}),j=1.5,k=e,l=k(j),m=a.box(),n=null,o=function(a,b){return i.isOrdinal()?i.x().rangeBand():a/(1+i.boxPadding())/b};i.yAxisPadding(12),i.x(a.scale.ordinal()),i.xUnits(c.units.ordinal),i.data(function(a){return a.all().map(function(a){return a.map=function(b){return b.call(a,a)},a}).filter(function(a){var b=i.valueAccessor()(a);return 0!==b.length})}),i.boxPadding=i._rangeBandPadding,i.boxPadding(.8),i.outerPadding=i._outerRangeBandPadding,i.outerPadding(.5),i.boxWidth=function(b){return arguments.length?(o=a.functor(b),i):o};var p=function(a,b){var c=i.x()(i.keyAccessor()(a,b));return"translate("+c+", 0)"};return i._preprocessData=function(){i.elasticX()&&i.x().domain([])},i.plotData=function(){var a=o(i.effectiveWidth(),i.xUnitCount());m.whiskers(l).width(a).height(i.effectiveHeight()).value(i.valueAccessor()).domain(i.y().domain()).duration(i.transitionDuration()).tickFormat(n);var b=i.chartBodyG().selectAll("g.box").data(i.data(),function(a){return a.key});f(b),g(b),h(b),i.fadeDeselectedArea()},i.fadeDeselectedArea=function(){i.g().selectAll("g.box").each(i.hasFilter()?function(a){i.isSelectedNode(a)?i.highlightSelected(this):i.fadeDeselected(this)}:function(){i.resetHighlight(this)})},i.isSelectedNode=function(a){return i.hasFilter(a.key)},i.yAxisMin=function(){var b=a.min(i.data(),function(b){return a.min(i.valueAccessor()(b))});return c.utils.subtract(b,i.yAxisPadding())},i.yAxisMax=function(){var b=a.max(i.data(),function(b){return a.max(i.valueAccessor()(b))});return c.utils.add(b,i.yAxisPadding())},i.tickFormat=function(a){return arguments.length?(n=a,i):n},i.anchor(b,d)},c.abstractBubbleChart=c.bubbleMixin,c.baseChart=c.baseMixin,c.capped=c.capMixin,c.colorChart=c.colorMixin,c.coordinateGridChart=c.coordinateGridMixin,c.marginable=c.marginMixin,c.stackableChart=c.stackMixin,c.d3=a,c.crossfilter=b,c}if("function"==typeof define&&define.amd)define(["d3","crossfilter"],a);else if("object"==typeof module&&module.exports){var b=require("d3"),c=require("crossfilter");"function"!=typeof c&&(c=c.crossfilter),module.exports=a(b,c)}else this.dc=a(d3,crossfilter)}(); +!function(){function a(a,b){"use strict";var c={version:"2.1.0-dev",constants:{CHART_CLASS:"dc-chart",DEBUG_GROUP_CLASS:"debug",STACK_CLASS:"stack",DESELECTED_CLASS:"deselected",SELECTED_CLASS:"selected",NODE_INDEX_NAME:"__index__",GROUP_INDEX_NAME:"__group_index__",DEFAULT_CHART_GROUP:"__default_chart_group__",EVENT_DELAY:40,NEGLIGIBLE_NUMBER:1e-10},_renderlet:null};c.chartRegistry=function(){function a(a){return a||(a=c.constants.DEFAULT_CHART_GROUP),b[a]||(b[a]=[]),a}var b={};return{has:function(a){for(var c in b)if(b[c].indexOf(a)>=0)return!0;return!1},register:function(c,d){d=a(d),b[d].push(c)},deregister:function(c,d){d=a(d);for(var e=0;e=b||void 0===b||c.disableTransitions)return a;var f=a.transition(e).duration(b);return"function"==typeof d&&d(f),f},c.optionalTransition=function(a,b,d,e){return a?function(a){return c.transition(a,b,d,e)}:function(a){return a}},c.units={},c.units.integers=function(a,b){return Math.abs(b-a)},c.units.ordinal=function(a,b,c){return c},c.units.fp={},c.units.fp.precision=function(a){var b=function(a,d){var e=Math.abs((d-a)/b.resolution);return c.utils.isNegligible(e-Math.floor(e))?Math.floor(e):Math.ceil(e)};return b.resolution=a,b},c.round={},c.round.floor=function(a){return Math.floor(a)},c.round.ceil=function(a){return Math.ceil(a)},c.round.round=function(a){return Math.round(a)},c.override=function(a,b,c){var d=a[b];a["_"+b]=d,a[b]=c},c.renderlet=function(a){return arguments.length?(c._renderlet=a,c):c._renderlet},c.instanceOfChart=function(a){return a instanceof Object&&a.__dcFlag__&&!0},c.errors={},c.errors.Exception=function(a){var b=a||"Unexpected internal error";this.message=b,this.toString=function(){return b}},c.errors.InvalidStateException=function(){c.errors.Exception.apply(this,arguments)},c.dateFormat=a.time.format("%m/%d/%Y"),c.printers={},c.printers.filters=function(a){for(var b="",d=0;d0&&(b+=", "),b+=c.printers.filter(a[d]);return b},c.printers.filter=function(a){var b="";return"undefined"!=typeof a&&null!==a&&(a instanceof Array?a.length>=2?b="["+c.utils.printSingleValue(a[0])+" -> "+c.utils.printSingleValue(a[1])+"]":a.length>=1&&(b=c.utils.printSingleValue(a[0])):b=c.utils.printSingleValue(a)),b},c.pluck=function(a,b){return b?function(c,d){return b.call(c,c[a],d)}:function(b){return b[a]}},c.utils={},c.utils.printSingleValue=function(a){var b=""+a;return a instanceof Date?b=c.dateFormat(a):"string"==typeof a?b=a:c.utils.isFloat(a)?b=c.utils.printSingleValue.fformat(a):c.utils.isInteger(a)&&(b=Math.round(a)),b},c.utils.printSingleValue.fformat=a.format(".2f"),c.utils.add=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()+b),c}if("string"==typeof b){var d=+b/100;return a>0?a*(1+d):a*(1-d)}return a+b},c.utils.subtract=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()-b),c}if("string"==typeof b){var d=+b/100;return 0>a?a*(1+d):a*(1-d)}return a-b},c.utils.isNumber=function(a){return a===+a},c.utils.isFloat=function(a){return a===+a&&a!==(0|a)},c.utils.isInteger=function(a){return a===+a&&a===(0|a)},c.utils.isNegligible=function(a){return!c.utils.isNumber(a)||a-c.constants.NEGLIGIBLE_NUMBER},c.utils.clamp=function(a,b,c){return b>a?b:a>c?c:a};var d=0;return c.utils.uniqueId=function(){return++d},c.utils.nameToId=function(a){return a.toLowerCase().replace(/[\s]/g,"_").replace(/[\.']/g,"")},c.utils.appendOrSelect=function(a,b,c){c=c||b;var d=a.select(b);return d.empty()&&(d=a.append(c)),d},c.utils.safeNumber=function(a){return c.utils.isNumber(+a)?+a:0},c.logger={},c.logger.enableDebugLog=!1,c.logger.warn=function(a){return console&&(console.warn?console.warn(a):console.log&&console.log(a)),c.logger},c.logger.debug=function(a){return c.logger.enableDebugLog&&console&&(console.debug?console.debug(a):console.log&&console.log(a)),c.logger},c.logger.deprecate=function(a,b){function d(){return e||(c.logger.warn(b),e=!0),a.apply(this,arguments)}var e=!1;return d},c.events={current:null},c.events.trigger=function(a,b){return b?(c.events.current=a,void setTimeout(function(){a===c.events.current&&a()},b)):void a()},c.filters={},c.filters.RangedFilter=function(a,b){var c=new Array(a,b);return c.isFiltered=function(a){return a>=this[0]&&a=b[0][0]&&c=b[0][1]&&dq?b:q},s=r,t=200,u=function(a){var b=a&&a.getBoundingClientRect&&a.getBoundingClientRect().height;return b&&b>t?b:t},v=u,w=c.pluck("key"),x=c.pluck("value"),y=c.pluck("key"),z=c.pluck("key"),A=!1,B=function(a){return d.keyAccessor()(a)+": "+d.valueAccessor()(a)},C=!0,D=!0,E=750,F=c.printers.filters,G=["dimension","group"],H=c.constants.DEFAULT_CHART_GROUP,I=a.dispatch("preRender","postRender","preRedraw","postRedraw","filtered","zoomed","renderlet","pretransition"),J=[],K=function(a,b){return a.filter(null),0===b.length?a.filter(null):a.filterFunction(function(a){for(var c=0;c=d&&d>=a)return!0}return!1}),b},L=function(a){return a.all()};d.width=function(b){return arguments.length?(s=a.functor(b||r),d):s(l.node())},d.height=function(b){return arguments.length?(v=a.functor(b||u),d):v(l.node())},d.minWidth=function(a){return arguments.length?(q=a,d):q},d.minHeight=function(a){return arguments.length?(t=a,d):t},d.dimension=function(a){return arguments.length?(i=a,d.expireCache(),d):i},d.data=function(b){return arguments.length?(L=a.functor(b),d.expireCache(),d):L.call(d,j)},d.group=function(a,b){return arguments.length?(j=a,d._groupName=b,d.expireCache(),d):j},d.ordering=function(a){return arguments.length?(z=a,o=b.quicksort.by(z),d.expireCache(),d):z},d._computeOrderedGroups=function(a){var c=a.slice(0);return c.length<=1?c:(o||(o=b.quicksort.by(z)),o(c,0,c.length))},d.filterAll=function(){return d.filter(null)},d.select=function(a){return l.select(a)},d.selectAll=function(a){return l?l.selectAll(a):null},d.anchor=function(b,e){return arguments.length?(c.instanceOfChart(b)?(k=b.anchor(),l=b.root(),n=!0):(k=b,l=a.select(k),l.classed(c.constants.CHART_CLASS,!0),c.registerChart(d,e),n=!1),H=e,d):k},d.anchorName=function(){var a=d.anchor();return a&&a.id?a.id:a&&a.replace?a.replace("#",""):"dc-chart"+d.chartID()},d.root=function(a){return arguments.length?(l=a,d):l},d.svg=function(a){return arguments.length?(m=a,d):m},d.resetSvg=function(){return d.select("svg").remove(),f()},d.filterPrinter=function(a){return arguments.length?(F=a,d):F},d.controlsUseVisibility=function(a){return arguments.length?(D=a,d):D},d.turnOnControls=function(){if(l){var a=d.controlsUseVisibility()?"visibility":"display";d.selectAll(".reset").style(a,null),d.selectAll(".filter").text(F(d.filters())).style(a,null)}return d},d.turnOffControls=function(){if(l){var a=d.controlsUseVisibility()?"visibility":"display",b=d.controlsUseVisibility()?"hidden":"none";d.selectAll(".reset").style(a,b),d.selectAll(".filter").style(a,b).text(d.filter())}return d},d.transitionDuration=function(a){return arguments.length?(E=a,d):E},d._mandatoryAttributes=function(a){return arguments.length?(G=a,d):G},d.render=function(){I.preRender(d),G&&G.forEach(g);var a=d._doRender();return p&&p.render(),d._activateRenderlets("postRender"),a},d._activateRenderlets=function(a){I.pretransition(d),d.transitionDuration()>0&&m?m.transition().duration(d.transitionDuration()).each("end",function(){I.renderlet(d),a&&I[a](d)}):(I.renderlet(d),a&&I[a](d))},d.redraw=function(){e(),I.preRedraw(d);var a=d._doRedraw();return p&&p.render(),d._activateRenderlets("postRedraw"),a},d.redrawGroup=function(){c.redrawAll(d.chartGroup())},d.renderGroup=function(){c.renderAll(d.chartGroup())},d._invokeFilteredListener=function(a){void 0!==a&&I.filtered(d,a)},d._invokeZoomedListener=function(){I.zoomed(d)};var M=function(a,b){return null===b||"undefined"==typeof b?a.length>0:a.some(function(a){return a>=b&&b>=a})};d.hasFilterHandler=function(a){return arguments.length?(M=a,d):M},d.hasFilter=function(a){return M(J,a)};var N=function(a,b){for(var c=0;c=b){a.splice(c,1);break}return a};d.removeFilterHandler=function(a){return arguments.length?(N=a,d):N};var O=function(a,b){return a.push(b),a};d.addFilterHandler=function(a){return arguments.length?(O=a,d):O};var P=function(a){return[]};return d.resetFilterHandler=function(a){return arguments.length?(P=a,d):P},d.replaceFilter=function(a){J=[],d.filter(a)},d.filter=function(a){return arguments.length?(a instanceof Array&&a[0]instanceof Array&&!a.isFiltered?a[0].forEach(function(a){d.hasFilter(a)?N(J,a):O(J,a)}):null===a?J=P(J):d.hasFilter(a)?N(J,a):O(J,a),h(),d._invokeFilteredListener(a),null!==l&&d.hasFilter()?d.turnOnControls():d.turnOffControls(),d):J.length>0?J[0]:null},d.filters=function(){return J},d.highlightSelected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!0),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.fadeDeselected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!0)},d.resetHighlight=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.onClick=function(a){var b=d.keyAccessor()(a);c.events.trigger(function(){d.filter(b),d.redrawGroup()})},d.filterHandler=function(a){return arguments.length?(K=a,d):K},d._doRender=function(){return d},d._doRedraw=function(){return d},d.legendables=function(){return[]},d.legendHighlight=function(){},d.legendReset=function(){},d.legendToggle=function(){},d.isLegendableHidden=function(){return!1},d.keyAccessor=function(a){return arguments.length?(w=a,d):w},d.valueAccessor=function(a){return arguments.length?(x=a,d):x},d.label=function(a){return arguments.length?(y=a,A=!0,d):y},d.renderLabel=function(a){return arguments.length?(A=a,d):A},d.title=function(a){return arguments.length?(B=a,d):B},d.renderTitle=function(a){return arguments.length?(C=a,d):C},d.renderlet=c.logger.deprecate(function(a){return d.on("renderlet."+c.utils.uniqueId(),a),d},'chart.renderlet has been deprecated. Please use chart.on("renderlet.", renderletFunction)'),d.chartGroup=function(a){return arguments.length?(n||c.deregisterChart(d,H),H=a,n||c.registerChart(d,H),d):H},d.expireCache=function(){return d},d.legend=function(a){return arguments.length?(p=a,p.parent(d),d):p},d.chartID=function(){return d.__dcFlag__},d.options=function(a){var b=["anchor","group","xAxisLabel","yAxisLabel","stack","title","point","getColor","overlayGeoJson"];for(var e in a)"function"==typeof d[e]?a[e]instanceof Array&&-1!==b.indexOf(e)?d[e].apply(d,a[e]):d[e].call(d,a[e]):c.logger.debug("Not a valid option setter name: "+e);return d},d.on=function(a,b){return I.on(a,b),d},d},c.marginMixin=function(a){var b={top:10,right:50,bottom:30,left:30};return a.margins=function(c){return arguments.length?(b=c,a):b},a.effectiveWidth=function(){return a.width()-a.margins().left-a.margins().right},a.effectiveHeight=function(){return a.height()-a.margins().top-a.margins().bottom},a},c.colorMixin=function(b){var c=a.scale.category20c(),d=!0,e=function(a){return b.keyAccessor()(a)};return b.colors=function(d){return arguments.length?(c=d instanceof Array?a.scale.quantize().range(d):a.functor(d),b):c},b.ordinalColors=function(c){return b.colors(a.scale.ordinal().range(c))},b.linearColors=function(c){return b.colors(a.scale.linear().range(c).interpolate(a.interpolateHcl))},b.colorAccessor=function(a){return arguments.length?(e=a,d=!1,b):e},b.defaultColorAccessor=function(){return d},b.colorDomain=function(a){return arguments.length?(c.domain(a),b):c.domain()},b.calculateColorDomain=function(){var d=[a.min(b.data(),b.colorAccessor()),a.max(b.data(),b.colorAccessor())];return c.domain(d),b},b.getColor=function(a,b){return c(e.call(this,a,b))},b.colorCalculator=function(a){return arguments.length?(b.getColor=a,b):b.getColor},b},c.coordinateGridMixin=function(b){function d(){V=!0,Y&&(b.x().domain(m(b.x().domain(),z)),G&&b.x().domain(m(b.x().domain(),G.x().domain())));var a=b.x().domain(),d=c.filters.RangedFilter(a[0],a[1]);b.replaceFilter(d),b.rescale(),b.redraw(),G&&!n(b.filter(),G.filter())&&c.events.trigger(function(){G.replaceFilter(d),G.redraw()}),b._invokeZoomedListener(),c.events.trigger(function(){b.redrawGroup()},c.constants.EVENT_DELAY),V=!n(a,z)}function e(a,b){return!a||!b||a.length!==b.length||a.some(function(a,c){return a.toString()!==b[c].toString()})}function f(a,c){b.isOrdinal()?(b.elasticX()||0===y.domain().length)&&y.domain(b._ordinalXDomain()):b.elasticX()&&y.domain([b.xAxisMin(),b.xAxisMax()]);var d=y.domain();(c||e(B,d))&&b.rescale(),B=d,b.isOrdinal()?y.rangeBands([0,b.xAxisLength()],da,b._useOuterPadding()?ca:0):y.range([0,b.xAxisLength()]),I=I.scale(b.x()),g(a)}function g(a){var d=a.selectAll("g."+r);if(U){d.empty()&&(d=a.insert("g",":first-child").attr("class",p+" "+r).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var e=I.tickValues()?I.tickValues():"function"==typeof y.ticks?y.ticks(I.ticks()[0]):y.domain(),f=d.selectAll("line").data(e),g=f.enter().append("line").attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0).attr("opacity",0);c.transition(g,b.transitionDuration()).attr("opacity",1),c.transition(f,b.transitionDuration()).attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0),f.exit().remove()}else d.selectAll("line").remove()}function h(){return b._xAxisY()-b.margins().top}function i(){return b.anchorName().replace(/[ .#=\[\]]/g,"-")+"-clip"}function j(){var a=c.utils.appendOrSelect(v,"defs"),d=i(),e=c.utils.appendOrSelect(a,"#"+d,"clipPath").attr("id",d),f=2*ba;c.utils.appendOrSelect(e,"rect").attr("width",b.xAxisLength()+f).attr("height",b.yAxisHeight()+f).attr("transform","translate(-"+ba+", -"+ba+")")}function k(a){b.isOrdinal()&&(S=!1),f(b.g(),a),b._prepareYAxis(b.g()),b.plotData(),(b.elasticX()||W||a)&&b.renderXAxis(b.g()),(b.elasticY()||W||a)&&b.renderYAxis(b.g()),a?b.renderBrush(b.g(),!1):b.redrawBrush(b.g(),W),b.fadeDeselectedArea(),W=!1}function l(){aa?b._enableMouseZoom():_&&b._disableMouseZoom()}function m(b,c){var d=[];return d[0]=a.max([b[0],c[0]]),d[1]=a.min([b[1],c[1]]),d}function n(a,b){return a||b?a&&b?0===a.length&&0===b.length?!0:a[0].valueOf()===b[0].valueOf()&&a[1].valueOf()===b[1].valueOf()?!0:!1:!1:!0}function o(a){return a instanceof Array&&a.length>1}var p="grid-line",q="horizontal",r="vertical",s="y-axis-label",t="x-axis-label",u=12;b=c.colorMixin(c.marginMixin(c.baseMixin(b))),b.colors(a.scale.category10()),b._mandatoryAttributes().push("x");var v,w,x,y,z,A,B,C,D,E,F,G,H,I=a.svg.axis().orient("bottom"),J=c.units.integers,K=0,L=!1,M=0,N=a.svg.axis().orient("left"),O=0,P=!1,Q=0,R=a.svg.brush(),S=!0,T=!1,U=!1,V=!1,W=!1,X=[1,1/0],Y=!0,Z=a.behavior.zoom().on("zoom",d),$=a.behavior.zoom().on("zoom",null),_=!1,aa=!1,ba=0,ca=.5,da=0,ea=!1;return b.rescale=function(){return F=void 0,W=!0,b},b.rangeChart=function(a){return arguments.length?(G=a,G.focusChart(b),b):G},b.zoomScale=function(a){return arguments.length?(X=a,b):X},b.zoomOutRestrict=function(a){return arguments.length?(X[0]=a?1:0,Y=a,b):Y},b._generateG=function(a){return v=void 0===a?b.svg():a,w=v.append("g"),x=w.append("g").attr("class","chart-body").attr("transform","translate("+b.margins().left+", "+b.margins().top+")").attr("clip-path","url(#"+i()+")"),w},b.g=function(a){return arguments.length?(w=a,b):w},b.mouseZoomable=function(a){return arguments.length?(aa=a,b):aa},b.chartBodyG=function(a){return arguments.length?(x=a,b):x},b.x=function(a){return arguments.length?(y=a,z=y.domain(),b.rescale(),b):y},b.xOriginalDomain=function(){return z},b.xUnits=function(a){return arguments.length?(J=a,b):J},b.xAxis=function(a){return arguments.length?(I=a,b):I},b.elasticX=function(a){return arguments.length?(L=a,b):L},b.xAxisPadding=function(a){return arguments.length?(K=a,b):K},b.xUnitCount=function(){if(void 0===F){var a=b.xUnits()(b.x().domain()[0],b.x().domain()[1],b.x().domain());F=a instanceof Array?a.length:a}return F},b.useRightYAxis=function(a){return arguments.length?(ea=a,b):ea},b.isOrdinal=function(){return b.xUnits()===c.units.ordinal},b._useOuterPadding=function(){return!0},b._ordinalXDomain=function(){var a=b._computeOrderedGroups(b.data());return a.map(b.keyAccessor())},b.renderXAxis=function(a){var d=a.selectAll("g.x");d.empty()&&(d=a.append("g").attr("class","axis x").attr("transform","translate("+b.margins().left+","+b._xAxisY()+")"));var e=a.selectAll("text."+t);e.empty()&&b.xAxisLabel()&&(e=a.append("text").attr("class",t).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")").attr("text-anchor","middle")),b.xAxisLabel()&&e.text()!==b.xAxisLabel()&&e.text(b.xAxisLabel()),c.transition(d,b.transitionDuration()).attr("transform","translate("+b.margins().left+","+b._xAxisY()+")").call(I),c.transition(e,b.transitionDuration()).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")")},b._xAxisY=function(){return b.height()-b.margins().bottom},b.xAxisLength=function(){return b.effectiveWidth()},b.xAxisLabel=function(a,c){return arguments.length?(A=a,b.margins().bottom-=M,M=void 0===c?u:c,b.margins().bottom+=M,b):A},b._prepareYAxis=function(c){if(void 0===C||b.elasticY()){void 0===C&&(C=a.scale.linear());var d=b.yAxisMin()||0,e=b.yAxisMax()||0;C.domain([d,e]).rangeRound([b.yAxisHeight(),0])}C.range([b.yAxisHeight(),0]),N=N.scale(C),ea&&N.orient("right"),b._renderHorizontalGridLinesForAxis(c,C,N)},b.renderYAxisLabel=function(a,d,e,f){f=f||Q;var g=b.g().selectAll("text."+s+"."+a+"-label"),h=b.margins().top+b.yAxisHeight()/2;g.empty()&&d&&(g=b.g().append("text").attr("transform","translate("+f+","+h+"),rotate("+e+")").attr("class",s+" "+a+"-label").attr("text-anchor","middle").text(d)),d&&g.text()!==d&&g.text(d),c.transition(g,b.transitionDuration()).attr("transform","translate("+f+","+h+"),rotate("+e+")")},b.renderYAxisAt=function(a,d,e){var f=b.g().selectAll("g."+a);f.empty()&&(f=b.g().append("g").attr("class","axis "+a).attr("transform","translate("+e+","+b.margins().top+")")),c.transition(f,b.transitionDuration()).attr("transform","translate("+e+","+b.margins().top+")").call(d)},b.renderYAxis=function(){var a=ea?b.width()-b.margins().right:b._yAxisX();b.renderYAxisAt("y",N,a);var c=ea?b.width()-Q:Q,d=ea?90:-90;b.renderYAxisLabel("y",b.yAxisLabel(),d,c)},b._renderHorizontalGridLinesForAxis=function(a,d,e){var f=a.selectAll("g."+q);if(T){var g=e.tickValues()?e.tickValues():d.ticks(e.ticks()[0]);f.empty()&&(f=a.insert("g",":first-child").attr("class",p+" "+q).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var h=f.selectAll("line").data(g),i=h.enter().append("line").attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}).attr("opacity",0);c.transition(i,b.transitionDuration()).attr("opacity",1),c.transition(h,b.transitionDuration()).attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}),h.exit().remove()}else f.selectAll("line").remove()},b._yAxisX=function(){return b.useRightYAxis()?b.width()-b.margins().right:b.margins().left},b.yAxisLabel=function(a,c){return arguments.length?(D=a,b.margins().left-=Q,Q=void 0===c?u:c,b.margins().left+=Q,b):D},b.y=function(a){return arguments.length?(C=a,b.rescale(),b):C},b.yAxis=function(a){return arguments.length?(N=a,b):N},b.elasticY=function(a){return arguments.length?(P=a,b):P},b.renderHorizontalGridLines=function(a){return arguments.length?(T=a,b):T},b.renderVerticalGridLines=function(a){return arguments.length?(U=a,b):U},b.xAxisMin=function(){var d=a.min(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.subtract(d,K)},b.xAxisMax=function(){var d=a.max(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.add(d,K)},b.yAxisMin=function(){var d=a.min(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.subtract(d,O)},b.yAxisMax=function(){var d=a.max(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.add(d,O)},b.yAxisPadding=function(a){return arguments.length?(O=a,b):O},b.yAxisHeight=function(){return b.effectiveHeight()},b.round=function(a){return arguments.length?(E=a,b):E},b._rangeBandPadding=function(a){return arguments.length?(da=a,b):da},b._outerRangeBandPadding=function(a){return arguments.length?(ca=a,b):ca},c.override(b,"filter",function(a){return arguments.length?(b._filter(a),a?b.brush().extent(a):b.brush().clear(),b):b._filter()}),b.brush=function(a){return arguments.length?(R=a,b):R},b.renderBrush=function(a){if(S){R.on("brush",b._brushing),R.on("brushstart",b._disableMouseZoom),R.on("brushend",l);var c=a.append("g").attr("class","brush").attr("transform","translate("+b.margins().left+","+b.margins().top+")").call(R.x(b.x()));b.setBrushY(c,!1),b.setHandlePaths(c),b.hasFilter()&&b.redrawBrush(a,!1)}},b.setHandlePaths=function(a){a.selectAll(".resize").append("path").attr("d",b.resizeHandlePath)},b.setBrushY=function(a){a.selectAll(".brush rect").attr("height",h()),a.selectAll(".resize path").attr("d",b.resizeHandlePath)},b.extendBrush=function(){var a=R.extent();return b.round()&&(a[0]=a.map(b.round())[0],a[1]=a.map(b.round())[1],w.select(".brush").call(R.extent(a))),a},b.brushIsEmpty=function(a){return R.empty()||!a||a[1]<=a[0]},b._brushing=function(){var a=b.extendBrush();if(b.redrawBrush(w,!1),b.brushIsEmpty(a))c.events.trigger(function(){b.filter(null),b.redrawGroup()},c.constants.EVENT_DELAY);else{var d=c.filters.RangedFilter(a[0],a[1]);c.events.trigger(function(){b.replaceFilter(d),b.redrawGroup()},c.constants.EVENT_DELAY)}},b.redrawBrush=function(a,d){if(S){b.filter()&&b.brush().empty()&&b.brush().extent(b.filter());var e=c.optionalTransition(d,b.transitionDuration())(a.select("g.brush"));b.setBrushY(e),e.call(b.brush().x(b.x()).extent(b.brush().extent()))}b.fadeDeselectedArea()},b.fadeDeselectedArea=function(){},b.resizeHandlePath=function(a){var b=+("e"===a),c=b?1:-1,d=h()/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)},b.clipPadding=function(a){return arguments.length?(ba=a,b):ba},b._preprocessData=function(){},b._doRender=function(){return b.resetSvg(),b._preprocessData(),b._generateG(),j(),k(!0),l(),b},b._doRedraw=function(){return b._preprocessData(),k(!1),j(),b},b._enableMouseZoom=function(){_=!0,Z.x(b.x()).scaleExtent(X).size([b.width(),b.height()]).duration(b.transitionDuration()),b.root().call(Z)},b._disableMouseZoom=function(){b.root().call($)},b.focus=function(a){o(a)?b.x().domain(a):b.x().domain(z),Z.x(b.x()),d()},b.refocused=function(){return V},b.focusChart=function(a){return arguments.length?(H=a,b.on("filtered",function(a){a.filter()?n(a.filter(),H.filter())||c.events.trigger(function(){H.focus(a.filter())}):c.events.trigger(function(){H.x().domain(H.xOriginalDomain())})}),b):H},b.brushOn=function(a){return arguments.length?(S=a,b):S},b},c.stackMixin=function(b){function d(a,c){var d=a.accessor||b.valueAccessor();return a.name=String(a.name||c),a.values=a.group.all().map(function(c,e){return{x:b.keyAccessor()(c,e),y:a.hidden?null:d(c,e),data:c,layer:a.name,hidden:a.hidden}}),a.values=a.values.filter(e()),a.values}function e(){if(!b.x())return a.functor(!0);var c=b.x().domain();return b.isOrdinal()?function(){return!0}:b.elasticX()?function(){return!0}:function(a){return a.x>=c[0]&&a.x<=c[c.length-1]}}function f(a){var b=j.map(c.pluck("name")).indexOf(a);return j[b]}function g(){var a=b.data().map(function(a){return a.values});return Array.prototype.concat.apply([],a)}function h(a){return!a.hidden}var i=a.layout.stack().values(d),j=[],k={},l=!1;return b.stack=function(a,c,d){if(!arguments.length)return j;arguments.length<=2&&(d=c);var e={group:a};return"string"==typeof c&&(e.name=c),"function"==typeof d&&(e.accessor=d),j.push(e),b},c.override(b,"group",function(a,c,d){return arguments.length?(j=[],k={},b.stack(a,c),d&&b.valueAccessor(d),b._group(a,c)):b._group()}),b.hidableStacks=function(a){return arguments.length?(l=a,b):l},b.hideStack=function(a){var c=f(a);return c&&(c.hidden=!0),b},b.showStack=function(a){var c=f(a);return c&&(c.hidden=!1),b},b.getValueAccessorByIndex=function(a){return j[a].accessor||b.valueAccessor()},b.yAxisMin=function(){var d=a.min(g(),function(a){return a.y+a.y0d?c.concat([{others:k,key:e,value:g-d}]):c};return b.cappedKeyAccessor=function(a,c){return a.others?a.key:b.keyAccessor()(a,c)},b.cappedValueAccessor=function(a,c){return a.others?a.value:b.valueAccessor()(a,c)},b.data(function(a){if(d===1/0)return b._computeOrderedGroups(a.all());var c=a.top(d);return c=b._computeOrderedGroups(c),f?f(c):c}),b.cap=function(a){return arguments.length?(d=a,b):d},b.othersLabel=function(a){return arguments.length?(e=a,b):e},b.othersGrouper=function(a){return arguments.length?(f=a,b):f},c.override(b,"onClick",function(a){a.others&&b.filter([a.others]),b._onClick(a)}),b},c.bubbleMixin=function(b){var d=.3,e=10;b.BUBBLE_NODE_CLASS="node",b.BUBBLE_CLASS="bubble",b.MIN_RADIUS=10,b=c.colorMixin(b),b.renderLabel(!0),b.data(function(a){return a.top(1/0)});var f=a.scale.linear().domain([0,100]),g=function(a){return a.r};b.r=function(a){return arguments.length?(f=a,b):f},b.radiusValueAccessor=function(a){return arguments.length?(g=a,b):g},b.rMin=function(){var c=a.min(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.rMax=function(){var c=a.max(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.bubbleR=function(a){var c=b.radiusValueAccessor()(a),d=b.r()(c);return(isNaN(d)||0>=c)&&(d=0),d};var h=function(a){return b.label()(a)},i=function(a){return b.bubbleR(a)>e?1:0};b._doRenderLabel=function(a){if(b.renderLabel()){var d=a.select("text");d.empty()&&(d=a.append("text").attr("text-anchor","middle").attr("dy",".3em").on("click",b.onClick)),d.attr("opacity",0).text(h),c.transition(d,b.transitionDuration()).attr("opacity",i)}},b.doUpdateLabels=function(a){if(b.renderLabel()){var d=a.selectAll("text").text(h);c.transition(d,b.transitionDuration()).attr("opacity",i)}};var j=function(a){return b.title()(a)};return b._doRenderTitles=function(a){if(b.renderTitle()){var c=a.select("title");c.empty()&&a.append("title").text(j)}},b.doUpdateTitles=function(a){b.renderTitle()&&a.selectAll("title").text(j)},b.minRadiusWithLabel=function(a){return arguments.length?(e=a,b):e},b.maxBubbleRelativeSize=function(a){return arguments.length?(d=a,b):d},b.fadeDeselectedArea=function(){b.hasFilter()?b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(function(a){b.isSelectedNode(a)?b.highlightSelected(this):b.fadeDeselected(this)}):b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(function(){b.resetHighlight(this)})},b.isSelectedNode=function(a){return b.hasFilter(a.key)},b.onClick=function(a){var d=a.key;c.events.trigger(function(){b.filter(d),b.redrawGroup()})},b},c.pieChart=function(b,d){function e(){D=E?E:a.min([Q.width(),Q.height()])/2;var b,d=r(),e=t();if(a.sum(Q.data(),Q.valueAccessor())?(b=e(Q.data()),F.classed(L,!1)):(b=e([{key:M,value:1,others:[M]}]),F.classed(L,!0)),F){var g=F.selectAll("g."+K).data(b);f(g,d,b),l(b,d),p(g),q(),c.transition(F,Q.transitionDuration()).attr("transform","translate("+Q.cx()+","+Q.cy()+")")}}function f(a,b,c){var d=g(a);h(d,b),i(d),k(c,b)}function g(a){var b=a.enter().append("g").attr("class",function(a,b){return K+" _"+b});return b}function h(a,b){var d=a.append("path").attr("fill",y).on("click",z).attr("d",function(a,c){return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)})}function i(a){Q.renderTitle()&&a.append("title").text(function(a){return Q.title()(a.data)})}function j(a,b){c.transition(a,Q.transitionDuration()).attr("transform",function(a){return B(a,b)}).attr("text-anchor","middle").text(function(a){var b=a.data;return!v(b)&&!u(a)||s(a)?Q.label()(a.data):""})}function k(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);c.exit().remove();var d=c.enter().append("text").attr("class",function(a,b){var c=K+" _"+b;return I&&(c+=" external"),c}).on("click",z);j(d,b)}}function l(a,b){m(a,b),n(a,b),o(a)}function m(a,b){var d=F.selectAll("g."+K).data(a).select("path").attr("d",function(a,c){ +return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)}).attr("fill",y)}function n(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);j(c,b)}}function o(a){Q.renderTitle()&&F.selectAll("g."+K).data(a).select("title").text(function(a){return Q.title()(a.data)})}function p(a){a.exit().remove()}function q(){Q.hasFilter()?Q.selectAll("g."+K).each(function(a){s(a)?Q.highlightSelected(this):Q.fadeDeselected(this)}):Q.selectAll("g."+K).each(function(){Q.resetHighlight(this)})}function r(){return a.svg.arc().outerRadius(D-O).innerRadius(N)}function s(a){return Q.hasFilter(Q.cappedKeyAccessor(a.data))}function t(){return a.layout.pie().sort(null).value(Q.cappedValueAccessor)}function u(a){var b=a.endAngle-a.startAngle;return isNaN(b)||P>b}function v(a){return 0===Q.cappedValueAccessor(a)}function w(b){b.innerRadius=N;var c=this._current;x(c)&&(c={startAngle:0,endAngle:0});var d=a.interpolate(c,b);return this._current=d(0),function(a){return A(d(a),0,r())}}function x(a){return!a||isNaN(a.startAngle)||isNaN(a.endAngle)}function y(a,b){return Q.getColor(a.data,b)}function z(a,b){F.attr("class")!==L&&Q.onClick(a.data,b)}function A(a,b,c){var d=c(a,b);return d.indexOf("NaN")>=0&&(d="M0,0"),d}function B(b,c){var d;return d=I?a.svg.arc().outerRadius(D-O+I).innerRadius(D-O+I).centroid(b):c.centroid(b),isNaN(d[0])||isNaN(d[1])?"translate(0,0)":"translate("+d+")"}function C(b,c){Q.selectAll("g.pie-slice").each(function(d){b.name===d.data.key&&a.select(this).classed("highlight",c)})}var D,E,F,G,H,I,J=.5,K="pie-slice",L="empty-chart",M="empty",N=0,O=0,P=J,Q=c.capMixin(c.colorMixin(c.baseMixin({})));return Q.colorAccessor(Q.cappedKeyAccessor),Q.title(function(a){return Q.cappedKeyAccessor(a)+": "+Q.cappedValueAccessor(a)}),Q.slicesCap=Q.cap,Q.label(Q.cappedKeyAccessor),Q.renderLabel(!0),Q.transitionDuration(350),Q._doRender=function(){return Q.resetSvg(),F=Q.svg().append("g").attr("transform","translate("+Q.cx()+","+Q.cy()+")"),e(),Q},Q.externalRadiusPadding=function(a){return arguments.length?(O=a,Q):O},Q.innerRadius=function(a){return arguments.length?(N=a,Q):N},Q.radius=function(a){return arguments.length?(E=a,Q):E},Q.cx=function(a){return arguments.length?(G=a,Q):G||Q.width()/2},Q.cy=function(a){return arguments.length?(H=a,Q):H||Q.height()/2},Q._doRedraw=function(){return e(),Q},Q.minAngleForLabel=function(a){return arguments.length?(P=a,Q):P},Q.emptyTitle=function(a){return 0===arguments.length?M:(M=a,Q)},Q.externalLabels=function(a){return 0===arguments.length?I:(I=a?a:void 0,Q)},Q.legendables=function(){return Q.data().map(function(a,b){var c={name:a.key,data:a.value,others:a.others,chart:Q};return c.color=Q.getColor(a,b),c})},Q.legendHighlight=function(a){C(a,!0)},Q.legendReset=function(a){C(a,!1)},Q.legendToggle=function(a){Q.onClick({key:a.name,others:a.others})},Q.anchor(b,d)},c.barChart=function(b,d){function e(a){return c.utils.safeNumber(Math.abs(l.y()(a.y+a.y0)-l.y()(a.y0)))}function f(a,b,d){var f=a.selectAll("rect.bar").data(d.values,c.pluck("x")),g=f.enter().append("rect").attr("class","bar").attr("fill",c.pluck("data",l.getColor)).attr("y",l.yAxisHeight()).attr("height",0);l.renderTitle()&&g.append("title").text(c.pluck("data",l.title(d.name))),l.isOrdinal()&&f.on("click",l.onClick),c.transition(f,l.transitionDuration()).attr("x",function(a){var b=l.x()(a.x);return n&&(b-=i/2),l.isOrdinal()&&void 0!==m&&(b+=m/2),c.utils.safeNumber(b)}).attr("y",function(a){var b=l.y()(a.y+a.y0);return a.y<0&&(b-=e(a)),c.utils.safeNumber(b)}).attr("width",i).attr("height",function(a){return e(a)}).attr("fill",c.pluck("data",l.getColor)).select("title").text(c.pluck("data",l.title(d.name))),c.transition(f.exit(),l.transitionDuration()).attr("height",0).remove()}function g(){if(void 0===i){var a=l.xUnitCount();i=l.isOrdinal()&&void 0===m?Math.floor(l.x().rangeBand()):m?Math.floor((l.xAxisLength()-(a-1)*m)/a):Math.floor(l.xAxisLength()/(1+l.barPadding())/a),(i===1/0||isNaN(i)||j>i)&&(i=j)}}function h(b,c){return function(){var d=a.select(this),e=d.attr("fill")===b;return c?!e:e}}var i,j=1,k=2,l=c.stackMixin(c.coordinateGridMixin({})),m=k,n=!1,o=!1;return c.override(l,"rescale",function(){return l._rescale(),i=void 0,l}),c.override(l,"render",function(){return l.round()&&n&&!o&&c.logger.warn("By default, brush rounding is disabled if bars are centered. See dc.js bar chart API documentation for details."),l._render()}),l.plotData=function(){var b=l.chartBodyG().selectAll("g.stack").data(l.data());g(),b.enter().append("g").attr("class",function(a,b){return"stack _"+b}),b.each(function(b,c){var d=a.select(this);f(d,c,b)})},l.fadeDeselectedArea=function(){var a=l.chartBodyG().selectAll("rect.bar"),b=l.brush().extent();if(l.isOrdinal())l.hasFilter()?(a.classed(c.constants.SELECTED_CLASS,function(a){return l.hasFilter(a.x)}),a.classed(c.constants.DESELECTED_CLASS,function(a){return!l.hasFilter(a.x)})):(a.classed(c.constants.SELECTED_CLASS,!1),a.classed(c.constants.DESELECTED_CLASS,!1));else if(l.brushIsEmpty(b))a.classed(c.constants.DESELECTED_CLASS,!1);else{var d=b[0],e=b[1];a.classed(c.constants.DESELECTED_CLASS,function(a){return a.x=e})}},l.centerBar=function(a){return arguments.length?(n=a,l):n},c.override(l,"onClick",function(a){l._onClick(a.data)}),l.barPadding=function(a){return arguments.length?(l._rangeBandPadding(a),m=void 0,l):l._rangeBandPadding()},l._useOuterPadding=function(){return void 0===m},l.outerPadding=l._outerRangeBandPadding,l.gap=function(a){return arguments.length?(m=a,l):m},l.extendBrush=function(){var a=l.brush().extent();return!l.round()||n&&!o||(a[0]=a.map(l.round())[0],a[1]=a.map(l.round())[1],l.chartBodyG().select(".brush").call(l.brush().extent(a))),a},l.alwaysUseRounding=function(a){return arguments.length?(o=a,l):o},l.legendHighlight=function(a){l.isLegendableHidden(a)||l.g().selectAll("rect.bar").classed("highlight",h(a.color)).classed("fadeout",h(a.color,!0))},l.legendReset=function(){l.g().selectAll("rect.bar").classed("highlight",!1).classed("fadeout",!1)},c.override(l,"xAxisMax",function(){var a=this._xAxisMax();if("resolution"in l.xUnits()){var b=l.xUnits().resolution;a+=b}return a}),l.anchor(b,d)},c.lineChart=function(b,d){function e(a,b){return z.getColor.call(a,a.values,b)}function f(b,d){var f=a.svg.line().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).interpolate(F).tension(G);r&&f.defined(r);var g=b.append("path").attr("class","line").attr("stroke",e);s&&g.attr("stroke-dasharray",s),c.transition(d.select("path.line"),z.transitionDuration()).attr("stroke",e).attr("d",function(a){return h(f(a.values))})}function g(b,d){if(A){var f=a.svg.area().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).y0(function(a){return z.y()(a.y0)}).interpolate(F).tension(G);r&&f.defined(r),b.append("path").attr("class","area").attr("fill",e).attr("d",function(a){return h(f(a.values))}),c.transition(d.select("path.area"),z.transitionDuration()).attr("fill",e).attr("d",function(a){return h(f(a.values))})}}function h(a){return!a||a.indexOf("NaN")>=0?"M0,0":a}function i(b,d){if(!z.brushOn()&&z.xyTipsOn()){var e=u+"-list",f=b.select("g."+e);f.empty()&&(f=b.append("g").attr("class",e)),d.each(function(b,d){var e=b.values;r&&(e=e.filter(r));var g=f.select("g."+u+"._"+d);g.empty()&&(g=f.append("g").attr("class",u+" _"+d)),j(g);var h=g.selectAll("circle."+v).data(e,c.pluck("x"));h.enter().append("circle").attr("class",v).attr("r",m()).style("fill-opacity",D).style("stroke-opacity",E).on("mousemove",function(){var b=a.select(this);k(b),l(b,g)}).on("mouseout",function(){var b=a.select(this);n(b),o(g)}),h.attr("cx",function(a){return c.utils.safeNumber(z.x()(a.x))}).attr("cy",function(a){return c.utils.safeNumber(z.y()(a.y+a.y0))}).attr("fill",z.getColor).call(p,b),h.exit().remove()})}}function j(a){var b=a.select("path."+w).empty()?a.append("path").attr("class",w):a.select("path."+w);b.style("display","none").attr("stroke-dasharray","5,5");var c=a.select("path."+x).empty()?a.append("path").attr("class",x):a.select("path."+x);c.style("display","none").attr("stroke-dasharray","5,5")}function k(a){return a.style("fill-opacity",.8),a.style("stroke-opacity",.8),a.attr("r",B),a}function l(a,b){var c=a.attr("cx"),d=a.attr("cy"),e=z._yAxisX()-z.margins().left,f="M"+e+" "+d+"L"+c+" "+d,g="M"+c+" "+z.yAxisHeight()+"L"+c+" "+d;b.select("path."+w).style("display","").attr("d",f),b.select("path."+x).style("display","").attr("d",g)}function m(){return C||B}function n(a){a.style("fill-opacity",D).style("stroke-opacity",E).attr("r",m())}function o(a){a.select("path."+w).style("display","none"),a.select("path."+x).style("display","none")}function p(a,b){z.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(c.pluck("data",z.title(b.name))))}function q(b,c,d){return function(){var e=a.select(this),f=e.attr("stroke")===b&&e.attr("stroke-dasharray")===(c instanceof Array?c.join(","):null)||e.attr("fill")===b;return d?!f:f}}var r,s,t=5,u="dc-tooltip",v="dot",w="yRef",x="xRef",y=1e-6,z=c.stackMixin(c.coordinateGridMixin({})),A=!1,B=t,C=null,D=y,E=y,F="linear",G=.7,H=!0;return z.transitionDuration(500),z._rangeBandPadding(1),z.plotData=function(){var a=z.chartBodyG(),b=a.selectAll("g.stack-list");b.empty()&&(b=a.append("g").attr("class","stack-list"));var c=b.selectAll("g.stack").data(z.data()),d=c.enter().append("g").attr("class",function(a,b){return"stack _"+b});f(d,c),g(d,c),i(a,c)},z.interpolate=function(a){return arguments.length?(F=a,z):F},z.tension=function(a){return arguments.length?(G=a,z):G},z.defined=function(a){return arguments.length?(r=a,z):r},z.dashStyle=function(a){return arguments.length?(s=a,z):s},z.renderArea=function(a){return arguments.length?(A=a,z):A},z.xyTipsOn=function(a){return arguments.length?(H=a,z):H},z.dotRadius=function(a){return arguments.length?(B=a,z):B},z.renderDataPoints=function(a){return arguments.length?(a?(D=a.fillOpacity||.8,E=a.strokeOpacity||.8,C=a.radius||2):(D=y,E=y,C=null),z):{fillOpacity:D,strokeOpacity:E,radius:C}},z.legendHighlight=function(a){z.isLegendableHidden(a)||z.g().selectAll("path.line, path.area").classed("highlight",q(a.color,a.dashstyle)).classed("fadeout",q(a.color,a.dashstyle,!0))},z.legendReset=function(){z.g().selectAll("path.line, path.area").classed("highlight",!1).classed("fadeout",!1)},c.override(z,"legendables",function(){var a=z._legendables();return s?a.map(function(a){return a.dashstyle=s,a}):a}),z.anchor(b,d)},c.dataCount=function(b,d){var e=a.format(",d"),f=c.baseMixin({}),g={some:"",all:""};return f.html=function(a){return arguments.length?(a.all&&(g.all=a.all),a.some&&(g.some=a.some),f):g},f.formatNumber=function(a){return arguments.length?(e=a,f):e},f._doRender=function(){var a=f.dimension().size(),b=f.group().value(),c=e(a),d=e(b);return a===b&&""!==g.all?f.root().html(g.all.replace("%total-count",c).replace("%filter-count",d)):""!==g.some?f.root().html(g.some.replace("%total-count",c).replace("%filter-count",d)):(f.selectAll(".total-count").text(c),f.selectAll(".filter-count").text(d)),f},f._doRedraw=function(){return f._doRender()},f.anchor(b,d)},c.dataTable=function(b,d){function e(){var a=!0;if(o.forEach(function(b){a&="function"==typeof b}),!a){m.selectAll("th").remove();var b=m.root().selectAll("th").data(o),c=b.enter().append("th");c.attr("class",l).html(function(a){return m._doColumnHeaderFormat(a)})}var d=m.root().selectAll("tbody").data(f(),function(a){return m.keyAccessor()(a)}),e=d.enter().append("tbody");return r===!0&&e.append("tr").attr("class",k).append("td").attr("class",h).attr("colspan",o.length).html(function(a){return m.keyAccessor()(a)}),d.exit().remove(),e}function f(){var b;return b=q===a.ascending?m.dimension().bottom(n):m.dimension().top(n),a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}))}function g(a){var b=a.order().selectAll("tr."+i).data(function(a){return a.values}),c=b.enter().append("tr").attr("class",i);return o.forEach(function(a,b){c.append("td").attr("class",j+" _"+b).html(function(b){return m._doColumnValueFormat(a,b)})}),b.exit().remove(),b}var h="dc-table-label",i="dc-table-row",j="dc-table-column",k="dc-table-group",l="dc-table-head",m=c.baseMixin({}),n=25,o=[],p=function(a){return a},q=a.ascending,r=!0;return m._doRender=function(){return m.selectAll("tbody").remove(),g(e()),m},m._doColumnValueFormat=function(a,b){return"function"==typeof a?a(b):"string"==typeof a?b[a]:a.format(b)},m._doColumnHeaderFormat=function(a){return"function"==typeof a?m._doColumnHeaderFnToString(a):"string"==typeof a?m._doColumnHeaderCapitalize(a):String(a.label)},m._doColumnHeaderCapitalize=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},m._doColumnHeaderFnToString=function(a){var b=String(a),c=b.indexOf("return ");if(c>=0){var d=b.lastIndexOf(";");if(d>=0){b=b.substring(c+7,d);var e=b.indexOf("numberFormat");e>=0&&(b=b.replace("numberFormat",""))}}return b},m._doRedraw=function(){return m._doRender()},m.size=function(a){return arguments.length?(n=a,m):n},m.columns=function(a){return arguments.length?(o=a,m):o},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.showGroups=function(a){return arguments.length?(r=a,m):!0},m.anchor(b,d)},c.dataGrid=function(b,d){function e(){var a=m.root().selectAll("div."+l).data(f(),function(a){return m.keyAccessor()(a)}),b=a.enter().append("div").attr("class",l);return s&&b.html(function(a){return s(a)}),a.exit().remove(),b}function f(){var b=m.dimension().top(n);return a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}).slice(r,h))}function g(a){var b=a.order().selectAll("div."+j).data(function(a){return a.values});return b.enter().append("div").attr("class",j).html(function(a){return o(a)}),b.exit().remove(),b}var h,i="dc-grid-label",j="dc-grid-item",k="dc-grid-group",l="dc-grid-top",m=c.baseMixin({}),n=999,o=function(a){return"you need to provide an html() handling param: "+JSON.stringify(a)},p=function(a){return a},q=a.ascending,r=0,s=function(a){return"

"+m.keyAccessor()(a)+"

"};return m._doRender=function(){return m.selectAll("div."+l).remove(),g(e()),m},m._doRedraw=function(){return m._doRender()},m.beginSlice=function(a){return arguments.length?(r=a,m):r},m.endSlice=function(a){return arguments.length?(h=a,m):h},m.size=function(a){return arguments.length?(n=a,m):n},m.html=function(a){return arguments.length?(o=a,m):o},m.htmlGroup=function(a){return arguments.length?(s=a,m):s},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.anchor(b,d)},c.bubbleChart=function(a,b){function d(a){var b=a.enter().append("g");b.attr("class",i.BUBBLE_NODE_CLASS).attr("transform",k).append("circle").attr("class",function(a,b){return i.BUBBLE_CLASS+" _"+b}).on("click",i.onClick).attr("fill",i.getColor).attr("r",0),c.transition(a,i.transitionDuration()).selectAll("circle."+i.BUBBLE_CLASS).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i._doRenderLabel(b),i._doRenderTitles(b)}function e(a){c.transition(a,i.transitionDuration()).attr("transform",k).selectAll("circle."+i.BUBBLE_CLASS).attr("fill",i.getColor).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i.doUpdateLabels(a),i.doUpdateTitles(a)}function f(a){a.exit().remove()}function g(a){var b=i.x()(i.keyAccessor()(a));return isNaN(b)&&(b=0),b}function h(a){var b=i.y()(i.valueAccessor()(a));return isNaN(b)&&(b=0),b}var i=c.bubbleMixin(c.coordinateGridMixin({})),j=!1;i.transitionDuration(750);var k=function(a){return"translate("+g(a)+","+h(a)+")"};return i.elasticRadius=function(a){return arguments.length?(j=a,i):j},i.plotData=function(){j&&i.r().domain([i.rMin(),i.rMax()]),i.r().range([i.MIN_RADIUS,i.xAxisLength()*i.maxBubbleRelativeSize()]);var a=i.chartBodyG().selectAll("g."+i.BUBBLE_NODE_CLASS).data(i.data(),function(a){return a.key});d(a),e(a),f(a),i.fadeDeselectedArea()},i.renderBrush=function(){},i.redrawBrush=function(){i.fadeDeselectedArea()},i.anchor(a,b)},c.compositeChart=function(b,d){function e(){(void 0===u.rightY()||u.elasticY())&&(void 0===u.rightY()&&u.rightY(a.scale.linear()),u.rightY().domain([l(),o()]).rangeRound([u.yAxisHeight(),0])),u.rightY().range([u.yAxisHeight(),0]),u.rightYAxis(u.rightYAxis().scale(u.rightY())),u.rightYAxis().orient("right")}function f(){(void 0===u.y()||u.elasticY())&&(void 0===u.y()&&u.y(a.scale.linear()),u.y().domain([k(),n()]).rangeRound([u.yAxisHeight(),0])),u.y().range([u.yAxisHeight(),0]),u.yAxis(u.yAxis().scale(u.y())),u.yAxis().orient("left")}function g(a,b){a._generateG(u.g()),a.g().attr("class",s+" _"+b)}function h(){return v.filter(function(a){return!a.useRightYAxis()})}function i(){return v.filter(function(a){return a.useRightYAxis()})}function j(a){return a.map(function(a){return a.yAxisMin()})}function k(){return a.min(j(h()))}function l(){return a.min(j(i()))}function m(a){return a.map(function(a){return a.yAxisMax()})}function n(){return c.utils.add(a.max(m(h())),u.yAxisPadding())}function o(){return c.utils.add(a.max(m(i())),u.yAxisPadding())}function p(){return v.map(function(a){return a.xAxisMin()})}function q(){return v.map(function(a){return a.xAxisMax()})}var r,s="sub",t=12,u=c.coordinateGridMixin({}),v=[],w={},x=!1,y=!0,z=a.svg.axis(),A=0,B=t,C=!1;return u._mandatoryAttributes([]),u.transitionDuration(500),c.override(u,"_generateG",function(){for(var a=this.__generateG(),b=0;b0&&!C?u._renderHorizontalGridLinesForAxis(u.g(),u.y(),u.yAxis()):i().length>0&&u._renderHorizontalGridLinesForAxis(u.g(),r,z)},u.renderYAxis=function(){0!==h().length&&(u.renderYAxisAt("y",u.yAxis(),u.margins().left),u.renderYAxisLabel("y",u.yAxisLabel(),-90)),0!==i().length&&(u.renderYAxisAt("yr",u.rightYAxis(),u.width()-u.margins().right),u.renderYAxisLabel("yr",u.rightYAxisLabel(),90,u.width()-B))},u.plotData=function(){for(var a=0;a0&&(b[0]=0),t=a.scale.linear().domain(b).range([0,G.effectiveWidth()])}H.scale(t)}function f(){var a=s.select("g.axis");e(),a.empty()&&(a=s.append("g").attr("class","axis").attr("transform","translate(0, "+G.effectiveHeight()+")")),c.transition(a,G.transitionDuration()).call(H)}function g(){s.selectAll("g.tick").select("line.grid-line").remove(),s.selectAll("g.tick").append("line").attr("class","grid-line").attr("x1",0).attr("y1",0).attr("x2",0).attr("y2",function(){return-G.effectiveHeight()})}function h(){v=G.data(),f(),g();var a=s.selectAll("g."+D).data(v);i(a),j(a),l(a)}function i(a){var b=a.enter().append("g").attr("class",function(a,b){return D+" _"+b});b.append("rect").attr("width",0),n(b),o(a)}function j(a){a.exit().remove()}function k(){var a=t(0);return a===-(1/0)||a!==a?t(1):a}function l(a){var b,d=v.length;b=C?C:(G.effectiveHeight()-(d+1)*B)/d,y||(x=b/2);var e=a.attr("transform",function(a,c){return"translate(0,"+((c+1)*B+c*b)+")"}).select("rect").attr("height",b).attr("fill",G.getColor).on("click",p).classed("deselected",function(a){return G.hasFilter()?!r(a):!1}).classed("selected",function(a){return G.hasFilter()?r(a):!1});c.transition(e,G.transitionDuration()).attr("width",function(a){return Math.abs(k()-t(G.valueAccessor()(a)))}).attr("transform",q),m(a),o(a)}function m(a){G.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(G.title()))}function n(a){G.renderLabel()&&a.append("text").on("click",p),G.renderTitleLabel()&&a.append("text").attr("class",E).on("click",p)}function o(a){if(G.renderLabel()){var b=a.select("text").attr("x",w).attr("y",x).attr("dy",z).on("click",p).attr("class",function(a,b){return D+" _"+b}).text(function(a){return G.label()(a)});c.transition(b,G.transitionDuration()).attr("transform",q)}if(G.renderTitleLabel()){var d=a.select("."+E).attr("x",G.effectiveWidth()-A).attr("y",x).attr("text-anchor","end").on("click",p).attr("class",function(a,b){return E+" _"+b}).text(function(a){return G.title()(a)});c.transition(d,G.transitionDuration()).attr("transform",q)}}function p(a){G.onClick(a)}function q(a){var b=t(G.cappedValueAccessor(a)),c=k(),d=b>c?c:b;return"translate("+d+",0)"}function r(a){return G.hasFilter(G.cappedKeyAccessor(a))}var s,t,u,v,w=10,x=15,y=!1,z="0.35em",A=2,B=5,C=!1,D="row",E="titlerow",F=!1,G=c.capMixin(c.marginMixin(c.colorMixin(c.baseMixin({})))),H=a.svg.axis().orient("bottom");return G.rowsCap=G.cap,G._doRender=function(){return G.resetSvg(),s=G.svg().append("g").attr("transform","translate("+G.margins().left+","+G.margins().top+")"),h(),G},G.title(function(a){return G.cappedKeyAccessor(a)+": "+G.cappedValueAccessor(a)}),G.label(G.cappedKeyAccessor),G.x=function(a){return arguments.length?(t=a,G):t},G.renderTitleLabel=function(a){return arguments.length?(F=a,G):F},G._doRedraw=function(){return h(),G},G.xAxis=function(){return H},G.fixedBarHeight=function(a){return arguments.length?(C=a,G):C},G.gap=function(a){return arguments.length?(B=a,G):B},G.elasticX=function(a){return arguments.length?(u=a,G):u},G.labelOffsetX=function(a){return arguments.length?(w=a,G):w},G.labelOffsetY=function(a){return arguments.length?(x=a,y=!0,G):x},G.titleLabelOffsetX=function(a){return arguments.length?(A=a,G):A},G.anchor(b,d)},c.legend=function(){function a(){return j+i}var b,d,e=2,f={},g=0,h=0,i=12,j=5,k=!1,l=560,m=70,n=!1;return f.parent=function(a){return arguments.length?(b=a,f):b},f.render=function(){b.svg().select("g.dc-legend").remove(),d=b.svg().append("g").attr("class","dc-legend").attr("transform","translate("+g+","+h+")");var f=b.legendables(),o=d.selectAll("g.dc-legend-item").data(f).enter().append("g").attr("class","dc-legend-item").on("mouseover",function(a){b.legendHighlight(a)}).on("mouseout",function(a){b.legendReset(a)}).on("click",function(a){a.chart.legendToggle(a)});d.selectAll("g.dc-legend-item").classed("fadeout",function(a){return a.chart.isLegendableHidden(a)}),f.some(c.pluck("dashstyle"))?o.append("line").attr("x1",0).attr("y1",i/2).attr("x2",i).attr("y2",i/2).attr("stroke-width",2).attr("stroke-dasharray",c.pluck("dashstyle")).attr("stroke",c.pluck("color")):o.append("rect").attr("width",i).attr("height",i).attr("fill",function(a){return a?a.color:"blue"}),o.append("text").text(c.pluck("name")).attr("x",i+e).attr("y",function(){return i/2+(this.clientHeight?this.clientHeight:13)/2-2});var p=0,q=0;o.attr("transform",function(b,c){if(k){var d="translate("+p+","+q*a()+")",e=n===!0?this.getBBox().width+j:m;return p+e>=l?(++q,p=0):p+=e,d}return"translate(0,"+c*a()+")"})},f.x=function(a){return arguments.length?(g=a,f):g},f.y=function(a){return arguments.length?(h=a,f):h},f.gap=function(a){return arguments.length?(j=a,f):j},f.itemHeight=function(a){return arguments.length?(i=a,f):i},f.horizontal=function(a){return arguments.length?(k=a,f):k},f.legendWidth=function(a){return arguments.length?(l=a,f):l},f.itemWidth=function(a){return arguments.length?(m=a,f):m},f.autoItemWidth=function(a){return arguments.length?(n=a,f):n},f},c.scatterPlot=function(b,d){function e(b,d){var e=g.selectAll(".chart-body path.symbol").filter(function(){return b(a.select(this))}),f=h.size();h.size(Math.pow(d,2)),c.transition(e,g.transitionDuration()).attr("d",h),h.size(f)}function f(a){var b=g.selectAll(".chart-body path.symbol").each(function(b){this.filtered=a&&a.isFiltered(b.key)});c.transition(b,g.transitionDuration()).attr("d",h)}var g=c.coordinateGridMixin({}),h=a.svg.symbol(),i=function(a){return a.value},j=g.keyAccessor();g.keyAccessor(function(a){return j(a)[0]}),g.valueAccessor(function(a){return j(a)[1]}),g.colorAccessor(function(){return g._groupName});var k=function(a){return"translate("+g.x()(g.keyAccessor()(a))+","+g.y()(g.valueAccessor()(a))+")"},l=3,m=5,n=0;return h.size(function(a){return i(a)?this.filtered?Math.pow(m,2):Math.pow(l,2):n}),c.override(g,"_filter",function(a){return arguments.length?g.__filter(c.filters.RangedTwoDimensionalFilter(a)):g.__filter()}),g.plotData=function(){var a=g.chartBodyG().selectAll("path.symbol").data(g.data());a.enter().append("path").attr("class","symbol").attr("opacity",0).attr("fill",g.getColor).attr("transform",k),c.transition(a,g.transitionDuration()).attr("opacity",function(a){return i(a)?1:0}).attr("fill",g.getColor).attr("transform",k).attr("d",h),c.transition(a.exit(),g.transitionDuration()).attr("opacity",0).remove()},g.existenceAccessor=function(a){return arguments.length?(i=a,this):i},g.symbol=function(a){return arguments.length?(h.type(a),g):h.type()},g.symbolSize=function(a){return arguments.length?(l=a, +g):l},g.highlightedSize=function(a){return arguments.length?(m=a,g):m},g.hiddenSize=function(a){return arguments.length?(n=a,g):n},g.legendables=function(){return[{chart:g,name:g._groupName,color:g.getColor()}]},g.legendHighlight=function(b){e(function(a){return a.attr("fill")===b.color},m),g.selectAll(".chart-body path.symbol").filter(function(){return a.select(this).attr("fill")!==b.color}).classed("fadeout",!0)},g.legendReset=function(b){e(function(a){return a.attr("fill")===b.color},l),g.selectAll(".chart-body path.symbol").filter(function(){return a.select(this).attr("fill")!==b.color}).classed("fadeout",!1)},g.setHandlePaths=function(){},g.extendBrush=function(){var a=g.brush().extent();return g.round()&&(a[0]=a[0].map(g.round()),a[1]=a[1].map(g.round()),g.g().select(".brush").call(g.brush().extent(a))),a},g.brushIsEmpty=function(a){return g.brush().empty()||!a||a[0][0]>=a[1][0]||a[0][1]>=a[1][1]},g._brushing=function(){var a=g.extendBrush();if(g.redrawBrush(g.g()),g.brushIsEmpty(a))c.events.trigger(function(){g.filter(null),g.redrawGroup()}),f(!1);else{var b=c.filters.RangedTwoDimensionalFilter(a);c.events.trigger(function(){g.filter(null),g.filter(b),g.redrawGroup()},c.constants.EVENT_DELAY),f(b)}},g.setBrushY=function(a){a.call(g.brush().y(g.y()))},g.anchor(b,d)},c.numberDisplay=function(b,d){var e="number-display",f=a.format(".2s"),g=c.baseMixin({}),h={one:"",some:"",none:""};return g._mandatoryAttributes(["group"]),g.html=function(a){return arguments.length?(a.none?h.none=a.none:a.one?h.none=a.one:a.some&&(h.none=a.some),a.one?h.one=a.one:a.some&&(h.one=a.some),a.some?h.some=a.some:a.one&&(h.some=a.one),g):h},g.value=function(){return g.data()},g.data(function(a){var b=a.value?a.value():a.top(1)[0];return g.valueAccessor()(b)}),g.transitionDuration(250),g._doRender=function(){var b=g.value(),c=g.selectAll("."+e);c.empty()&&(c=c.data([0]).enter().append("span").attr("class",e)),c.transition().duration(g.transitionDuration()).ease("quad-out-in").tween("text",function(){var c=a.interpolateNumber(this.lastValue||0,b);return this.lastValue=b,function(a){var d=null,e=g.formatNumber()(c(a));0===b&&""!==h.none?d=h.none:1===b&&""!==h.one?d=h.one:""!==h.some&&(d=h.some),this.innerHTML=d?d.replace("%number",e):e}})},g._doRedraw=function(){return g._doRender()},g.formatNumber=function(a){return arguments.length?(f=a,g):f},g.anchor(b,d)},c.heatMap=function(b,d){function e(a,b){var d=p.selectAll(".box-group").filter(function(c){return c.key[a]===b}),e=d.filter(function(a){return!p.hasFilter(a.key)});c.events.trigger(function(){e.empty()?d.each(function(a){p.filter(a.key)}):e.each(function(a){p.filter(a.key)}),p.redrawGroup()})}var f,g,h,i=6.75,j=a.ascending,k=a.ascending,l=a.scale.ordinal(),m=a.scale.ordinal(),n=i,o=i,p=c.colorMixin(c.marginMixin(c.baseMixin({})));p._mandatoryAttributes(["group"]),p.title(p.colorAccessor());var q=function(a){return a},r=function(a){return a};p.colsLabel=function(a){return arguments.length?(q=a,p):q},p.rowsLabel=function(a){return arguments.length?(r=a,p):r};var s=function(a){e(0,a)},t=function(a){e(1,a)},u=function(a){var b=a.key;c.events.trigger(function(){p.filter(b),p.redrawGroup()})};return c.override(p,"filter",function(a){return arguments.length?p._filter(c.filters.TwoDimensionalFilter(a)):p._filter()}),p.rows=function(a){return arguments.length?(h=a,p):h},p.rowOrdering=function(a){return arguments.length?(k=a,p):k},p.cols=function(a){return arguments.length?(g=a,p):g},p.colOrdering=function(a){return arguments.length?(j=a,p):j},p._doRender=function(){return p.resetSvg(),f=p.svg().append("g").attr("class","heatmap").attr("transform","translate("+p.margins().left+","+p.margins().top+")"),p._doRedraw()},p._doRedraw=function(){var a=p.data(),b=p.rows()||a.map(p.valueAccessor()),d=p.cols()||a.map(p.keyAccessor());k&&(b=b.sort(k)),j&&(d=d.sort(j)),b=m.domain(b),d=l.domain(d);var e=b.domain().length,g=d.domain().length,h=Math.floor(p.effectiveWidth()/g),i=Math.floor(p.effectiveHeight()/e);d.rangeRoundBands([0,p.effectiveWidth()]),b.rangeRoundBands([p.effectiveHeight(),0]);var q=f.selectAll("g.box-group").data(p.data(),function(a,b){return p.keyAccessor()(a,b)+"\x00"+p.valueAccessor()(a,b)}),r=q.enter().append("g").attr("class","box-group");r.append("rect").attr("class","heat-box").attr("fill","white").on("click",p.boxOnClick()),p.renderTitle()&&(r.append("title"),q.selectAll("title").text(p.title())),c.transition(q.selectAll("rect"),p.transitionDuration()).attr("x",function(a,b){return d(p.keyAccessor()(a,b))}).attr("y",function(a,c){return b(p.valueAccessor()(a,c))}).attr("rx",n).attr("ry",o).attr("fill",p.getColor).attr("width",h).attr("height",i),q.exit().remove();var s=f.selectAll("g.cols");s.empty()&&(s=f.append("g").attr("class","cols axis"));var t=s.selectAll("text").data(d.domain());t.enter().append("text").attr("x",function(a){return d(a)+h/2}).style("text-anchor","middle").attr("y",p.effectiveHeight()).attr("dy",12).on("click",p.xAxisOnClick()).text(p.colsLabel()),c.transition(t,p.transitionDuration()).text(p.colsLabel()).attr("x",function(a){return d(a)+h/2}),t.exit().remove();var u=f.selectAll("g.rows");u.empty()&&(u=f.append("g").attr("class","rows axis"));var v=u.selectAll("text").data(b.domain());return v.enter().append("text").attr("dy",6).style("text-anchor","end").attr("x",0).attr("dx",-2).on("click",p.yAxisOnClick()).text(p.rowsLabel()),c.transition(v,p.transitionDuration()).text(p.rowsLabel()).attr("y",function(a){return b(a)+i/2}),v.exit().remove(),p.hasFilter()?p.selectAll("g.box-group").each(function(a){p.isSelectedNode(a)?p.highlightSelected(this):p.fadeDeselected(this)}):p.selectAll("g.box-group").each(function(){p.resetHighlight(this)}),p},p.boxOnClick=function(a){return arguments.length?(u=a,p):u},p.xAxisOnClick=function(a){return arguments.length?(s=a,p):s},p.yAxisOnClick=function(a){return arguments.length?(t=a,p):t},p.xBorderRadius=function(a){return arguments.length?(n=a,p):n},p.yBorderRadius=function(a){return arguments.length?(o=a,p):o},p.isSelectedNode=function(a){return p.hasFilter(a.key)},p.anchor(b,d)},function(){function b(a){return[0,a.length-1]}function c(b){return[a.quantile(b,.25),a.quantile(b,.5),a.quantile(b,.75)]}a.box=function(){function d(b){b.each(function(b,c){b=b.map(i).sort(a.ascending);var d=a.select(this),m=b.length,n=b[0],o=b[m-1],p=b.quartiles=k(b),q=j&&j.call(this,b,c),r=q&&q.map(function(a){return b[a]}),s=q?a.range(0,q[0]).concat(a.range(q[1]+1,m)):a.range(m),t=a.scale.linear().domain(h&&h.call(this,b,c)||[n,o]).range([f,0]),u=this.__chart__||a.scale.linear().domain([0,1/0]).range(t.range());this.__chart__=t;var v=d.selectAll("line.center").data(r?[r]:[]);v.enter().insert("line","rect").attr("class","center").attr("x1",e/2).attr("y1",function(a){return u(a[0])}).attr("x2",e/2).attr("y2",function(a){return u(a[1])}).style("opacity",1e-6).transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.exit().transition().duration(g).style("opacity",1e-6).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}).remove();var w=d.selectAll("rect.box").data([p]);w.enter().append("rect").attr("class","box").attr("x",0).attr("y",function(a){return u(a[2])}).attr("width",e).attr("height",function(a){return u(a[0])-u(a[2])}).transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])}),w.transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])});var x=d.selectAll("line.median").data([p[1]]);x.enter().append("line").attr("class","median").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).transition().duration(g).attr("y1",t).attr("y2",t),x.transition().duration(g).attr("y1",t).attr("y2",t);var y=d.selectAll("line.whisker").data(r||[]);y.enter().insert("line","circle, text").attr("class","whisker").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).style("opacity",1e-6).transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.exit().transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1e-6).remove();var z=d.selectAll("circle.outlier").data(s,Number);z.enter().insert("circle","text").attr("class","outlier").attr("r",5).attr("cx",e/2).attr("cy",function(a){return u(b[a])}).style("opacity",1e-6).transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.exit().transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1e-6).remove();var A=l||t.tickFormat(8),B=d.selectAll("text.box").data(p);B.enter().append("text").attr("class","box").attr("dy",".3em").attr("dx",function(a,b){return 1&b?6:-6}).attr("x",function(a,b){return 1&b?e:0}).attr("y",u).attr("text-anchor",function(a,b){return 1&b?"start":"end"}).text(A).transition().duration(g).attr("y",t),B.transition().duration(g).text(A).attr("y",t);var C=d.selectAll("text.whisker").data(r||[]);C.enter().append("text").attr("class","whisker").attr("dy",".3em").attr("dx",6).attr("x",e).attr("y",u).text(A).style("opacity",1e-6).transition().duration(g).attr("y",t).style("opacity",1),C.transition().duration(g).text(A).attr("y",t).style("opacity",1),C.exit().transition().duration(g).attr("y",t).style("opacity",1e-6).remove()}),a.timer.flush()}var e=1,f=1,g=0,h=null,i=Number,j=b,k=c,l=null;return d.width=function(a){return arguments.length?(e=a,d):e},d.height=function(a){return arguments.length?(f=a,d):f},d.tickFormat=function(a){return arguments.length?(l=a,d):l},d.duration=function(a){return arguments.length?(g=a,d):g},d.domain=function(b){return arguments.length?(h=null===b?b:a.functor(b),d):h},d.value=function(a){return arguments.length?(i=a,d):i},d.whiskers=function(a){return arguments.length?(j=a,d):j},d.quartiles=function(a){return arguments.length?(k=a,d):k},d}}(),c.boxPlot=function(b,d){function e(a){return function(b){for(var c=b.quartiles[0],d=b.quartiles[2],e=(d-c)*a,f=-1,g=b.length;b[++f]d+e;);return[f,g]}}function f(a){var b=a.enter().append("g");b.attr("class","box").attr("transform",p).call(m).on("click",function(a){i.filter(a.key),i.redrawGroup()})}function g(b){c.transition(b,i.transitionDuration()).attr("transform",p).call(m).each(function(){a.select(this).select("rect.box").attr("fill",i.getColor)})}function h(a){a.exit().remove().call(m)}var i=c.coordinateGridMixin({}),j=1.5,k=e,l=k(j),m=a.box(),n=null,o=function(a,b){return i.isOrdinal()?i.x().rangeBand():a/(1+i.boxPadding())/b};i.yAxisPadding(12),i.x(a.scale.ordinal()),i.xUnits(c.units.ordinal),i.data(function(a){return a.all().map(function(a){return a.map=function(b){return b.call(a,a)},a}).filter(function(a){var b=i.valueAccessor()(a);return 0!==b.length})}),i.boxPadding=i._rangeBandPadding,i.boxPadding(.8),i.outerPadding=i._outerRangeBandPadding,i.outerPadding(.5),i.boxWidth=function(b){return arguments.length?(o=a.functor(b),i):o};var p=function(a,b){var c=i.x()(i.keyAccessor()(a,b));return"translate("+c+", 0)"};return i._preprocessData=function(){i.elasticX()&&i.x().domain([])},i.plotData=function(){var a=o(i.effectiveWidth(),i.xUnitCount());m.whiskers(l).width(a).height(i.effectiveHeight()).value(i.valueAccessor()).domain(i.y().domain()).duration(i.transitionDuration()).tickFormat(n);var b=i.chartBodyG().selectAll("g.box").data(i.data(),function(a){return a.key});f(b),g(b),h(b),i.fadeDeselectedArea()},i.fadeDeselectedArea=function(){i.hasFilter()?i.g().selectAll("g.box").each(function(a){i.isSelectedNode(a)?i.highlightSelected(this):i.fadeDeselected(this)}):i.g().selectAll("g.box").each(function(){i.resetHighlight(this)})},i.isSelectedNode=function(a){return i.hasFilter(a.key)},i.yAxisMin=function(){var b=a.min(i.data(),function(b){return a.min(i.valueAccessor()(b))});return c.utils.subtract(b,i.yAxisPadding())},i.yAxisMax=function(){var b=a.max(i.data(),function(b){return a.max(i.valueAccessor()(b))});return c.utils.add(b,i.yAxisPadding())},i.tickFormat=function(a){return arguments.length?(n=a,i):n},i.anchor(b,d)},c.selectMenu=function(b,d){function e(){var a=h.selectAll("option."+j).data(k.data(),function(a){return k.keyAccessor()(a)});return a.enter().append("option").classed(j,!0).attr("value",function(a){return k.keyAccessor()(a)}),a.text(k.title()),a.exit().remove(),h.selectAll("option."+j).sort(o),h.on("change",f),a}function f(b,c){var d=Array.prototype.slice.call(a.event.target.selectedOptions),e=d.map(function(a){return a.value});1===e.length&&""===e[0]?e=null:1===e.length&&(e=e[0]),k.onChange(e)}function g(){m?h.attr("multiple",!0):h.attr("multiple",null),null!==n?h.attr("size",n):h.attr("size",null)}var h,i="dc-select-menu",j="dc-select-option",k=c.baseMixin({}),l="Select all",m=!1,n=null,o=function(a,b){return k.keyAccessor()(a)>k.keyAccessor()(b)?1:k.keyAccessor()(b)>k.keyAccessor()(a)?-1:0},p=function(a){return k.valueAccessor()(a)>0};return k.data(function(a){return a.all().filter(p)}),k._doRender=function(){return k.select("select").remove(),h=k.root().append("select").classed(i,!0),g(),h.append("option").text(l).attr("value",""),e(),k},k._doRedraw=function(){return g(),e(),k.hasFilter()&&m?h.selectAll("option").filter(function(a){return a&&k.filters().indexOf(String(k.keyAccessor()(a)))>=0}).property("selected",!0):k.hasFilter()?h.property("value",k.filter()):h.property("value",""),k},k.onChange=function(a){a&&m?k.replaceFilter([a]):a?k.replaceFilter(a):k.filterAll(),c.events.trigger(function(){k.redrawGroup()})},k.order=function(a){return arguments.length?(o=a,k):o},k.promptText=function(a){return arguments.length?(l=a,k):l},k.filterDisplayed=function(a){return arguments.length?(p=a,k):p},k.multiple=function(a){return arguments.length?(m=a,k):m},k.size=function(a){return arguments.length?(n=a,k):n},k.anchor(b,d)},c.abstractBubbleChart=c.bubbleMixin,c.baseChart=c.baseMixin,c.capped=c.capMixin,c.colorChart=c.colorMixin,c.coordinateGridChart=c.coordinateGridMixin,c.marginable=c.marginMixin,c.stackableChart=c.stackMixin,c.d3=a,c.crossfilter=b,c}if("function"==typeof define&&define.amd)define(["d3","crossfilter"],a);else if("object"==typeof module&&module.exports){var b=require("d3"),c=require("crossfilter");"function"!=typeof c&&(c=c.crossfilter),module.exports=a(b,c)}else this.dc=a(d3,crossfilter)}(); //# sourceMappingURL=dc.min.js.map \ No newline at end of file diff --git a/dc.min.js.map b/dc.min.js.map index 7fb8e5121..95a9ef337 100644 --- a/dc.min.js.map +++ b/dc.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dc.min.js","sources":["dc.js"],"names":["_dc","d3","crossfilter","dc","version","constants","CHART_CLASS","DEBUG_GROUP_CLASS","STACK_CLASS","DESELECTED_CLASS","SELECTED_CLASS","NODE_INDEX_NAME","GROUP_INDEX_NAME","DEFAULT_CHART_GROUP","EVENT_DELAY","NEGLIGIBLE_NUMBER","_renderlet","chartRegistry","initializeChartGroup","group","_chartMap","has","chart","e","indexOf","register","push","deregister","i","length","anchorName","splice","clear","list","registerChart","deregisterChart","hasChart","deregisterAllCharts","filterAll","charts","refocusAll","focus","renderAll","render","redrawAll","redraw","disableTransitions","transition","selections","duration","callback","name","undefined","s","optionalTransition","enable","selection","units","integers","Math","abs","ordinal","domain","fp","precision","_f","d","resolution","utils","isNegligible","floor","ceil","round","n","override","obj","functionName","newFunction","existingFunction","renderlet","_","arguments","instanceOfChart","o","Object","__dcFlag__","errors","Exception","msg","_msg","this","message","toString","InvalidStateException","apply","dateFormat","time","format","printers","filters","filter","Array","printSingleValue","pluck","f","call","Date","isFloat","fformat","isInteger","add","l","r","replace","setTime","getTime","setDate","getDate","percentage","subtract","isNumber","clamp","val","min","max","_idCounter","uniqueId","nameToId","toLowerCase","appendOrSelect","parent","selector","tag","element","select","empty","append","safeNumber","logger","enableDebugLog","warn","console","log","debug","deprecate","fn","deprecated","warned","events","current","trigger","closure","delay","setTimeout","RangedFilter","low","high","range","isFiltered","value","TwoDimensionalFilter","array","RangedTwoDimensionalFilter","fromBottomLeft","x","y","baseMixin","_chart","sizeSvg","_svg","attr","width","height","generateSvg","root","checkForMandatoryAttributes","a","applyFilters","dimension","fs","_filterHandler","_filters","_dimension","_group","_anchor","_root","_isChild","_orderSort","_legend","_minWidth","_defaultWidth","getBoundingClientRect","_width","_minHeight","_defaultHeight","_height","_keyAccessor","_valueAccessor","_label","_ordering","_renderLabel","_title","keyAccessor","valueAccessor","_renderTitle","_transitionDuration","_filterPrinter","_mandatoryAttributes","_chartGroup","_listeners","dispatch","filterFunction","_data","all","w","functor","node","h","minWidth","minHeight","expireCache","data","g","_groupName","ordering","quicksort","by","_computeOrderedGroups","dataCopy","slice","selectAll","anchor","chartGroup","classed","id","chartID","svg","resetSvg","remove","filterPrinter","turnOnControls","style","text","turnOffControls","transitionDuration","preRender","forEach","result","_doRender","_activateRenderlets","event","pretransition","each","preRedraw","_doRedraw","redrawGroup","renderGroup","_invokeFilteredListener","filtered","_invokeZoomedListener","zoomed","_hasFilterHandler","some","hasFilterHandler","hasFilter","_removeFilterHandler","removeFilterHandler","_addFilterHandler","addFilterHandler","_resetFilterHandler","resetFilterHandler","replaceFilter","highlightSelected","fadeDeselected","resetHighlight","onClick","filterHandler","legendables","legendHighlight","legendReset","legendToggle","isLegendableHidden","label","renderLabel","title","renderTitle","on","legend","options","opts","applyOptions","listener","marginMixin","_margin","top","right","bottom","left","margins","m","effectiveWidth","effectiveHeight","colorMixin","_colors","scale","category20c","_defaultAccessor","_colorAccessor","colors","quantize","ordinalColors","linearColors","linear","interpolate","interpolateHcl","colorAccessor","defaultColorAccessor","colorDomain","calculateColorDomain","newDomain","getColor","colorCalculator","coordinateGridMixin","zoomHandler","_refocused","_zoomOutRestrict","constrainRange","_xOriginalDomain","_rangeChart","domFilter","rescale","rangesEqual","compareDomains","d1","d2","elem","prepareXAxis","isOrdinal","elasticX","_x","_ordinalXDomain","xAxisMin","xAxisMax","xdom","_lastXDomain","rangeBands","xAxisLength","_rangeBandPadding","_useOuterPadding","_outerRangeBandPadding","_xAxis","renderVerticalGridLines","gridLineG","VERTICAL_CLASS","_renderVerticalGridLine","insert","GRID_LINE_CLASS","ticks","tickValues","lines","linesGEnter","enter","_xAxisY","exit","brushHeight","getClipPathId","generateClipPath","defs","_parent","chartBodyClip","padding","_clipPadding","yAxisHeight","drawChart","_brushOn","_prepareYAxis","plotData","_resizing","renderXAxis","elasticY","renderYAxis","renderBrush","redrawBrush","fadeDeselectedArea","configureMouseZoom","_mouseZoomable","_enableMouseZoom","_hasBeenMouseZoomable","_disableMouseZoom","constraint","constrainedRange","range1","range2","valueOf","hasRangeSelected","HORIZONTAL_CLASS","Y_AXIS_LABEL_CLASS","X_AXIS_LABEL_CLASS","DEFAULT_AXIS_LABEL_PADDING","category10","_g","_chartBodyG","_xAxisLabel","_y","_yAxisLabel","_round","_unitCount","_focusChart","axis","orient","_xUnits","_xAxisPadding","_xElasticity","_xAxisLabelPadding","_yAxis","_yAxisPadding","_yElasticity","_yAxisLabelPadding","_brush","brush","_renderHorizontalGridLine","_zoomScale","_zoom","behavior","zoom","_nullZoom","_useRightYAxis","rangeChart","focusChart","zoomScale","zoomOutRestrict","_generateG","mouseZoomable","z","chartBodyG","xOriginalDomain","xUnits","xAxis","xAxisPadding","xUnitCount","useRightYAxis","groups","map","axisXG","axisXLab","xAxisLabel","yAxisMin","yAxisMax","rangeRound","_renderHorizontalGridLinesForAxis","renderYAxisLabel","axisClass","rotation","labelXPosition","axisYLab","labelYPosition","renderYAxisAt","position","axisYG","axisPosition","_yAxisX","labelPosition","yAxisLabel","yAxis","renderHorizontalGridLines","yAxisPadding","_filter","extent","_brushing","gBrush","setBrushY","setHandlePaths","resizeHandlePath","extendBrush","brushIsEmpty","rangedFilter","doTransition","clipPadding","p","_preprocessData","scaleExtent","size","refocused","c","brushOn","stackMixin","prepareValues","layer","layerIdx","valAccessor","accessor","String","values","hidden","domainFilter","xDomain","findLayerByName","_stack","flattenStack","valueses","prototype","concat","visability","_stackLayout","layout","stack","_titles","_hidableStacks","hidableStacks","hideStack","stackName","showStack","getValueAccessorByIndex","index","y0","titleAccessor","stackLayout","layers","flat","ordered","color","capMixin","_cap","_othersLabel","_othersGrouper","topRows","topRowsSum","sum","allRows","allRowsSum","topKeys","allKeys","topSet","set","others","key","cappedKeyAccessor","cappedValueAccessor","cap","othersLabel","othersGrouper","_onClick","bubbleMixin","_maxBubbleRelativeSize","_minRadiusWithLabel","BUBBLE_NODE_CLASS","BUBBLE_CLASS","MIN_RADIUS","_r","_rValueAccessor","radiusValueAccessor","rMin","rMax","bubbleR","isNaN","labelFunction","labelOpacity","_doRenderLabel","bubbleGEnter","doUpdateLabels","labels","titleFunction","_doRenderTitles","doUpdateTitles","minRadiusWithLabel","maxBubbleRelativeSize","isSelectedNode","pieChart","_radius","_givenRadius","pieData","arc","buildArcs","pie","pieLayout","_emptyCssClass","_emptyTitle","slices","_sliceCssClass","createElements","updateElements","removeElements","highlightFilter","cx","cy","slicesEnter","createSliceNodes","createSlicePath","createTitles","createLabels","slicePath","fill","safeArc","attrTween","tweenPie","positionLabels","labelsEnter","sliceHasNoData","sliceTooSmall","isSelectedSlice","classes","_externalLabelRadius","updateSlicePaths","updateLabels","updateTitles","slicePaths","outerRadius","_externalRadiusPadding","innerRadius","_innerRadius","sort","angle","endAngle","startAngle","_minAngleForLabel","b","_current","isOffCanvas","t","path","centroid","highlightSliceFromLegendable","legendable","highlighted","_cx","_cy","DEFAULT_MIN_ANGLE_FOR_LABEL","slicesCap","externalRadiusPadding","radius","minAngleForLabel","emptyTitle","externalLabels","barChart","barHeight","renderBars","layerIndex","bars","_centerBar","_barWidth","_gap","calculateBarWidth","numberOfBars","rangeBand","barPadding","MIN_BAR_WIDTH","colorFilter","inv","item","match","DEFAULT_GAP_BETWEEN_BARS","_alwaysUseRounding","_rescale","_render","start","end","centerBar","outerPadding","gap","alwaysUseRounding","_xAxisMax","res","lineChart","drawLine","layersEnter","line","_interpolate","tension","_tension","_defined","defined","_dashStyle","safeD","drawArea","_renderArea","area","drawDots","chartBody","xyTipsOn","tooltipListClass","TOOLTIP_G_CLASS","tooltips","points","createRefLines","dots","DOT_CIRCLE_CLASS","getDotRadius","_dataPointFillOpacity","_dataPointStrokeOpacity","dot","showDot","showRefLines","hideDot","hideRefLines","yRefLine","Y_AXIS_REF_LINE_CLASS","xRefLine","X_AXIS_REF_LINE_CLASS","_dotRadius","yAxisX","yAxisRefPathD","xAxisRefPathD","_dataPointRadius","dashstyle","join","DEFAULT_DOT_RADIUS","DEFAULT_DOT_OPACITY","_xyTipsOn","layersList","dashStyle","renderArea","dotRadius","renderDataPoints","fillOpacity","strokeOpacity","_legendables","dataCount","_formatNumber","_html","html","formatNumber","tot","selected","dataTable","renderGroups","bAllFunctions","_columns","headcols","headGroup","HEAD_CSS_CLASS","_doColumnHeaderFormat","nestEntries","rowGroup","_showGroups","GROUP_CSS_CLASS","LABEL_CSS_CLASS","entries","_order","ascending","_size","nest","sortKeys","_sortBy","renderRows","rows","order","ROW_CSS_CLASS","rowEnter","v","COLUMN_CSS_CLASS","_doColumnValueFormat","_doColumnHeaderFnToString","_doColumnHeaderCapitalize","charAt","toUpperCase","i1","i2","lastIndexOf","substring","i3","columns","sortBy","showGroups","dataGrid","GRID_CSS_CLASS","itemGroup","_htmlGroup","_beginSlice","_endSlice","renderItems","items","ITEM_CSS_CLASS","JSON","stringify","beginSlice","endSlice","htmlGroup","bubbleChart","renderNodes","bubbleG","bubbleLocator","updateNodes","removeNodes","bubbleX","bubbleY","_elasticRadius","elasticRadius","compositeChart","prepareRightYAxis","rightY","rightYAxisMin","rightYAxisMax","rightYAxis","prepareLeftYAxis","generateChildG","child","SUB_CHART_CLASS","leftYAxisChildren","_children","rightYAxisChildren","getYAxisMin","getYAxisMax","getAllXAxisMinFromChildCharts","getAllXAxisMaxFromChildCharts","_rightY","DEFAULT_RIGHT_Y_AXIS_LABEL_PADDING","_childOptions","_shareColors","_shareTitle","_rightYAxis","_rightYAxisLabel","_rightYAxisLabelPadding","_rightAxisGridLines","__generateG","rightYAxisLabel","useRightAxisGridLines","childOptions","compose","children","shareColors","shareTitle","reduce","j","seriesChart","keySort","clearChart","_charts","resetChildren","keys","_seriesAccessor","_chartFunction","_seriesSort","_valueSort","childrenChanged","keep","nester","sortValues","nesting","sub","subChart","_compose","seriesAccessor","seriesSort","valueSort","geoChoroplethChart","generateLayeredData","isDataLayer","regionG","renderRegionG","renderPaths","groupAll","geoJson","layerSelector","isSelected","isDeselected","layerNameClass","regionClass","baseClasses","getKey","_geoJsons","paths","currentFill","_projectionFlag","_geoPath","geo","states","selectedRegion","overlayGeoJson","json","projection","geoJsons","geoPath","removeGeoJson","bubbleOverlay","initOverlayG","BUBBLE_OVERLAY_CLASS","initializeBubbles","mapData","_points","point","nodeG","getNodeG","circle","datum","bubbleNodeClass","updateBubbles","flag","debugG","debugText","mouse","rowChart","calculateAxisScale","_elasticX","_rowData","drawAxis","axisG","drawGridLines","_rowCssClass","rootValue","_fixedBarHeight","_hasLabelOffsetY","_labelOffsetY","rect","isSelectedRow","translateX","renderTitleLabel","_titleRowCssClass","lab","_labelOffsetX","_dyOffset","titlelab","_titleLabelOffsetX","x0","_renderTitleLabel","rowsCap","fixedBarHeight","labelOffsetX","labelOffsetY","titleLabelOffsetX","legendItemHeight","_itemHeight","LABEL_GAP","_horizontal","_legendWidth","_itemWidth","_autoItemWidth","itemEnter","clientHeight","_cumulativeLegendTextWidth","row","translateBy","itemWidth","getBBox","itemHeight","horizontal","legendWidth","autoItemWidth","scatterPlot","resizeSymbolsWhere","condition","symbols","oldSize","_symbol","pow","resizeFiltered","symbol","_existenceAccessor","originalKeyAccessor","_locator","_symbolSize","_highlightedSize","_hiddenSize","__filter","existenceAccessor","acc","type","symbolSize","highlightedSize","hiddenSize","ranged2DFilter","numberDisplay","SPAN_CLASS","one","none","valObj","newValue","span","ease","tween","interp","interpolateNumber","lastValue","num","innerHTML","heatMap","filterAxis","cellsOnAxis","unfilteredCellsOnAxis","_chartBody","_cols","_rows","DEFAULT_BORDER_RADIUS","_colOrdering","_rowOrdering","_colScale","_rowScale","_xBorderRadius","_yBorderRadius","_colsLabel","_rowsLabel","colsLabel","rowsLabel","_xAxisOnClick","_yAxisOnClick","_boxOnClick","rowOrdering","cols","colOrdering","rowCount","colCount","boxWidth","boxHeight","rangeRoundBands","boxes","gEnter","boxOnClick","gCols","gColsText","xAxisOnClick","gRows","gRowsText","yAxisOnClick","xBorderRadius","yBorderRadius","boxWhiskers","boxQuartiles","quantile","box","quartileData","quartiles","whiskerIndices","whiskers","whiskerData","outlierIndices","x1","__chart__","center","medianLine","whisker","outlier","Number","tickFormat","boxTick","whiskerTick","timer","flush","boxPlot","DEFAULT_WHISKERS_IQR","k","q1","q3","iqr","renderBoxes","boxesG","boxesGEnter","boxTransform","_box","updateBoxes","removeBoxes","_whiskerIqrFactor","_whiskersIqr","_whiskers","_tickFormat","_boxWidth","innerChartWidth","boxPadding","xOffset","_calculatedBoxWidth","abstractBubbleChart","baseChart","capped","colorChart","coordinateGridChart","marginable","stackableChart","define","amd","module","exports","_d3","require","_crossfilter"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dc.min.js","sources":["dc.js"],"names":["_dc","d3","crossfilter","dc","version","constants","CHART_CLASS","DEBUG_GROUP_CLASS","STACK_CLASS","DESELECTED_CLASS","SELECTED_CLASS","NODE_INDEX_NAME","GROUP_INDEX_NAME","DEFAULT_CHART_GROUP","EVENT_DELAY","NEGLIGIBLE_NUMBER","_renderlet","chartRegistry","initializeChartGroup","group","_chartMap","has","chart","e","indexOf","register","push","deregister","i","length","anchorName","splice","clear","list","registerChart","deregisterChart","hasChart","deregisterAllCharts","filterAll","charts","refocusAll","focus","renderAll","render","redrawAll","redraw","disableTransitions","transition","selections","duration","callback","name","undefined","s","optionalTransition","enable","selection","units","integers","Math","abs","ordinal","domain","fp","precision","_f","d","resolution","utils","isNegligible","floor","ceil","round","n","override","obj","functionName","newFunction","existingFunction","renderlet","_","arguments","instanceOfChart","o","Object","__dcFlag__","errors","Exception","msg","_msg","this","message","toString","InvalidStateException","apply","dateFormat","time","format","printers","filters","filter","Array","printSingleValue","pluck","f","call","Date","isFloat","fformat","isInteger","add","l","r","replace","setTime","getTime","setDate","getDate","percentage","subtract","isNumber","clamp","val","min","max","_idCounter","uniqueId","nameToId","toLowerCase","appendOrSelect","parent","selector","tag","element","select","empty","append","safeNumber","logger","enableDebugLog","warn","console","log","debug","deprecate","fn","deprecated","warned","events","current","trigger","closure","delay","setTimeout","RangedFilter","low","high","range","isFiltered","value","TwoDimensionalFilter","array","RangedTwoDimensionalFilter","fromBottomLeft","Infinity","x","y","baseMixin","_chart","sizeSvg","_svg","attr","width","height","generateSvg","root","checkForMandatoryAttributes","a","applyFilters","dimension","fs","_filterHandler","_filters","_dimension","_group","_anchor","_root","_isChild","_orderSort","_legend","_minWidth","_defaultWidth","getBoundingClientRect","_width","_minHeight","_defaultHeight","_height","_keyAccessor","_valueAccessor","_label","_ordering","_renderLabel","_title","keyAccessor","valueAccessor","_renderTitle","_controlsUseVisibility","_transitionDuration","_filterPrinter","_mandatoryAttributes","_chartGroup","_listeners","dispatch","filterFunction","_data","all","w","functor","node","h","minWidth","minHeight","expireCache","data","g","_groupName","ordering","quicksort","by","_computeOrderedGroups","dataCopy","slice","selectAll","anchor","chartGroup","classed","id","chartID","svg","resetSvg","remove","filterPrinter","controlsUseVisibility","turnOnControls","attribute","style","text","turnOffControls","transitionDuration","preRender","forEach","result","_doRender","_activateRenderlets","event","pretransition","each","preRedraw","_doRedraw","redrawGroup","renderGroup","_invokeFilteredListener","filtered","_invokeZoomedListener","zoomed","_hasFilterHandler","some","hasFilterHandler","hasFilter","_removeFilterHandler","removeFilterHandler","_addFilterHandler","addFilterHandler","_resetFilterHandler","resetFilterHandler","replaceFilter","highlightSelected","fadeDeselected","resetHighlight","onClick","filterHandler","legendables","legendHighlight","legendReset","legendToggle","isLegendableHidden","label","renderLabel","title","renderTitle","on","legend","options","opts","applyOptions","listener","marginMixin","_margin","top","right","bottom","left","margins","m","effectiveWidth","effectiveHeight","colorMixin","_colors","scale","category20c","_defaultAccessor","_colorAccessor","colors","quantize","ordinalColors","linearColors","linear","interpolate","interpolateHcl","colorAccessor","defaultColorAccessor","colorDomain","calculateColorDomain","newDomain","getColor","colorCalculator","coordinateGridMixin","zoomHandler","_refocused","_zoomOutRestrict","constrainRange","_xOriginalDomain","_rangeChart","domFilter","rescale","rangesEqual","compareDomains","d1","d2","elem","prepareXAxis","isOrdinal","elasticX","_x","_ordinalXDomain","xAxisMin","xAxisMax","xdom","_lastXDomain","rangeBands","xAxisLength","_rangeBandPadding","_useOuterPadding","_outerRangeBandPadding","_xAxis","renderVerticalGridLines","gridLineG","VERTICAL_CLASS","_renderVerticalGridLine","insert","GRID_LINE_CLASS","ticks","tickValues","lines","linesGEnter","enter","_xAxisY","exit","brushHeight","getClipPathId","generateClipPath","defs","_parent","chartBodyClip","padding","_clipPadding","yAxisHeight","drawChart","_brushOn","_prepareYAxis","plotData","_resizing","renderXAxis","elasticY","renderYAxis","renderBrush","redrawBrush","fadeDeselectedArea","configureMouseZoom","_mouseZoomable","_enableMouseZoom","_hasBeenMouseZoomable","_disableMouseZoom","constraint","constrainedRange","range1","range2","valueOf","hasRangeSelected","HORIZONTAL_CLASS","Y_AXIS_LABEL_CLASS","X_AXIS_LABEL_CLASS","DEFAULT_AXIS_LABEL_PADDING","category10","_g","_chartBodyG","_xAxisLabel","_y","_yAxisLabel","_round","_unitCount","_focusChart","axis","orient","_xUnits","_xAxisPadding","_xElasticity","_xAxisLabelPadding","_yAxis","_yAxisPadding","_yElasticity","_yAxisLabelPadding","_brush","brush","_renderHorizontalGridLine","_zoomScale","_zoom","behavior","zoom","_nullZoom","_useRightYAxis","rangeChart","focusChart","zoomScale","zoomOutRestrict","_generateG","mouseZoomable","z","chartBodyG","xOriginalDomain","xUnits","xAxis","xAxisPadding","xUnitCount","useRightYAxis","groups","map","axisXG","axisXLab","xAxisLabel","yAxisMin","yAxisMax","rangeRound","_renderHorizontalGridLinesForAxis","renderYAxisLabel","axisClass","rotation","labelXPosition","axisYLab","labelYPosition","renderYAxisAt","position","axisYG","axisPosition","_yAxisX","labelPosition","yAxisLabel","yAxis","renderHorizontalGridLines","yAxisPadding","_filter","extent","_brushing","gBrush","setBrushY","setHandlePaths","resizeHandlePath","extendBrush","brushIsEmpty","rangedFilter","doTransition","clipPadding","p","_preprocessData","scaleExtent","size","refocused","c","brushOn","stackMixin","prepareValues","layer","layerIdx","valAccessor","accessor","String","values","hidden","domainFilter","xDomain","findLayerByName","_stack","flattenStack","valueses","prototype","concat","visability","_stackLayout","layout","stack","_titles","_hidableStacks","hidableStacks","hideStack","stackName","showStack","getValueAccessorByIndex","index","y0","titleAccessor","stackLayout","layers","flat","ordered","color","capMixin","_cap","_othersLabel","_othersGrouper","topRows","topRowsSum","sum","allRows","allRowsSum","topKeys","allKeys","topSet","set","others","key","cappedKeyAccessor","cappedValueAccessor","cap","othersLabel","othersGrouper","_onClick","bubbleMixin","_maxBubbleRelativeSize","_minRadiusWithLabel","BUBBLE_NODE_CLASS","BUBBLE_CLASS","MIN_RADIUS","_r","_rValueAccessor","radiusValueAccessor","rMin","rMax","bubbleR","isNaN","labelFunction","labelOpacity","_doRenderLabel","bubbleGEnter","doUpdateLabels","labels","titleFunction","_doRenderTitles","doUpdateTitles","minRadiusWithLabel","maxBubbleRelativeSize","isSelectedNode","pieChart","_radius","_givenRadius","pieData","arc","buildArcs","pie","pieLayout","_emptyCssClass","_emptyTitle","slices","_sliceCssClass","createElements","updateElements","removeElements","highlightFilter","cx","cy","slicesEnter","createSliceNodes","createSlicePath","createTitles","createLabels","slicePath","fill","safeArc","attrTween","tweenPie","positionLabels","labelsEnter","sliceHasNoData","sliceTooSmall","isSelectedSlice","classes","_externalLabelRadius","updateSlicePaths","updateLabels","updateTitles","slicePaths","outerRadius","_externalRadiusPadding","innerRadius","_innerRadius","sort","angle","endAngle","startAngle","_minAngleForLabel","b","_current","isOffCanvas","t","path","centroid","highlightSliceFromLegendable","legendable","highlighted","_cx","_cy","DEFAULT_MIN_ANGLE_FOR_LABEL","slicesCap","externalRadiusPadding","radius","minAngleForLabel","emptyTitle","externalLabels","barChart","barHeight","renderBars","layerIndex","bars","_centerBar","_barWidth","_gap","calculateBarWidth","numberOfBars","rangeBand","barPadding","MIN_BAR_WIDTH","colorFilter","inv","item","match","DEFAULT_GAP_BETWEEN_BARS","_alwaysUseRounding","_rescale","_render","start","end","centerBar","outerPadding","gap","alwaysUseRounding","_xAxisMax","res","lineChart","drawLine","layersEnter","line","_interpolate","tension","_tension","_defined","defined","_dashStyle","safeD","drawArea","_renderArea","area","drawDots","chartBody","xyTipsOn","tooltipListClass","TOOLTIP_G_CLASS","tooltips","points","createRefLines","dots","DOT_CIRCLE_CLASS","getDotRadius","_dataPointFillOpacity","_dataPointStrokeOpacity","dot","showDot","showRefLines","hideDot","hideRefLines","yRefLine","Y_AXIS_REF_LINE_CLASS","xRefLine","X_AXIS_REF_LINE_CLASS","_dotRadius","yAxisX","yAxisRefPathD","xAxisRefPathD","_dataPointRadius","dashstyle","join","DEFAULT_DOT_RADIUS","DEFAULT_DOT_OPACITY","_xyTipsOn","layersList","dashStyle","renderArea","dotRadius","renderDataPoints","fillOpacity","strokeOpacity","_legendables","dataCount","_formatNumber","_html","html","formatNumber","tot","selected","dataTable","renderGroups","bAllFunctions","_columns","headcols","headGroup","HEAD_CSS_CLASS","_doColumnHeaderFormat","nestEntries","rowGroup","_showGroups","GROUP_CSS_CLASS","LABEL_CSS_CLASS","entries","_order","ascending","_size","nest","sortKeys","_sortBy","renderRows","rows","order","ROW_CSS_CLASS","rowEnter","v","COLUMN_CSS_CLASS","_doColumnValueFormat","_doColumnHeaderFnToString","_doColumnHeaderCapitalize","charAt","toUpperCase","i1","i2","lastIndexOf","substring","i3","columns","sortBy","showGroups","dataGrid","GRID_CSS_CLASS","itemGroup","_htmlGroup","_beginSlice","_endSlice","renderItems","items","ITEM_CSS_CLASS","JSON","stringify","beginSlice","endSlice","htmlGroup","bubbleChart","renderNodes","bubbleG","bubbleLocator","updateNodes","removeNodes","bubbleX","bubbleY","_elasticRadius","elasticRadius","compositeChart","prepareRightYAxis","rightY","rightYAxisMin","rightYAxisMax","rightYAxis","prepareLeftYAxis","generateChildG","child","SUB_CHART_CLASS","leftYAxisChildren","_children","rightYAxisChildren","getYAxisMin","getYAxisMax","getAllXAxisMinFromChildCharts","getAllXAxisMaxFromChildCharts","_rightY","DEFAULT_RIGHT_Y_AXIS_LABEL_PADDING","_childOptions","_shareColors","_shareTitle","_rightYAxis","_rightYAxisLabel","_rightYAxisLabelPadding","_rightAxisGridLines","__generateG","rightYAxisLabel","useRightAxisGridLines","childOptions","compose","children","shareColors","shareTitle","reduce","j","seriesChart","keySort","clearChart","_charts","resetChildren","keys","_seriesAccessor","_chartFunction","_seriesSort","_valueSort","childrenChanged","keep","nester","sortValues","nesting","sub","subChart","_compose","seriesAccessor","seriesSort","valueSort","geoChoroplethChart","generateLayeredData","isDataLayer","regionG","renderRegionG","renderPaths","groupAll","geoJson","layerSelector","isSelected","isDeselected","layerNameClass","regionClass","baseClasses","getKey","_geoJsons","paths","currentFill","_projectionFlag","_geoPath","geo","states","selectedRegion","overlayGeoJson","json","projection","geoJsons","geoPath","removeGeoJson","bubbleOverlay","initOverlayG","BUBBLE_OVERLAY_CLASS","initializeBubbles","mapData","_points","point","nodeG","getNodeG","circle","datum","bubbleNodeClass","updateBubbles","flag","debugG","debugText","mouse","rowChart","calculateAxisScale","_elasticX","_rowData","drawAxis","axisG","drawGridLines","_rowCssClass","rootValue","_fixedBarHeight","_hasLabelOffsetY","_labelOffsetY","rect","isSelectedRow","translateX","renderTitleLabel","_titleRowCssClass","lab","_labelOffsetX","_dyOffset","titlelab","_titleLabelOffsetX","x0","_renderTitleLabel","rowsCap","fixedBarHeight","labelOffsetX","labelOffsetY","titleLabelOffsetX","legendItemHeight","_itemHeight","LABEL_GAP","_horizontal","_legendWidth","_itemWidth","_autoItemWidth","itemEnter","clientHeight","_cumulativeLegendTextWidth","row","translateBy","itemWidth","getBBox","itemHeight","horizontal","legendWidth","autoItemWidth","scatterPlot","resizeSymbolsWhere","condition","symbols","oldSize","_symbol","pow","resizeFiltered","symbol","_existenceAccessor","originalKeyAccessor","_locator","_symbolSize","_highlightedSize","_hiddenSize","__filter","existenceAccessor","acc","type","symbolSize","highlightedSize","hiddenSize","ranged2DFilter","numberDisplay","SPAN_CLASS","one","none","valObj","newValue","span","ease","tween","interp","interpolateNumber","lastValue","num","innerHTML","heatMap","filterAxis","cellsOnAxis","unfilteredCellsOnAxis","_chartBody","_cols","_rows","DEFAULT_BORDER_RADIUS","_colOrdering","_rowOrdering","_colScale","_rowScale","_xBorderRadius","_yBorderRadius","_colsLabel","_rowsLabel","colsLabel","rowsLabel","_xAxisOnClick","_yAxisOnClick","_boxOnClick","rowOrdering","cols","colOrdering","rowCount","colCount","boxWidth","boxHeight","rangeRoundBands","boxes","gEnter","boxOnClick","gCols","gColsText","xAxisOnClick","gRows","gRowsText","yAxisOnClick","xBorderRadius","yBorderRadius","boxWhiskers","boxQuartiles","quantile","box","quartileData","quartiles","whiskerIndices","whiskers","whiskerData","outlierIndices","x1","__chart__","center","medianLine","whisker","outlier","Number","tickFormat","boxTick","whiskerTick","timer","flush","boxPlot","DEFAULT_WHISKERS_IQR","k","q1","q3","iqr","renderBoxes","boxesG","boxesGEnter","boxTransform","_box","updateBoxes","removeBoxes","_whiskerIqrFactor","_whiskersIqr","_whiskers","_tickFormat","_boxWidth","innerChartWidth","boxPadding","xOffset","_calculatedBoxWidth","selectMenu","renderOptions","_select","OPTION_CSS_CLASS","onChange","selectedOptions","target","setAttributes","_multiple","SELECT_CSS_CLASS","_promptText","_filterDisplayed","property","promptText","filterDisplayed","multiple","abstractBubbleChart","baseChart","capped","colorChart","coordinateGridChart","marginable","stackableChart","define","amd","module","exports","_d3","require","_crossfilter"],"mappings":"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"} \ No newline at end of file diff --git a/web/docs/api-latest.md b/web/docs/api-latest.md index 49e28e53e..6929e5361 100644 --- a/web/docs/api-latest.md +++ b/web/docs/api-latest.md @@ -26,6 +26,7 @@ * [Number Display Widget](#number-display-widget) * [Heat Map](#heat-map) * [Box Plot](#box-plot) + * [Select Menu](#select-menu) #### Version 2.1.0-dev The entire dc.js library is scoped under the **dc** name space. It does not introduce anything else @@ -268,6 +269,10 @@ friendly text for filter value(s) associated with the chart instance. By default default filter printer `dc.printers.filter` that provides simple printing support for both single value and ranged filters. +#### .controlsUseVisibility +If set, use the `visibility` attribute instead of the `display` attribute, for less disruption +to layout. Default: true. + #### .turnOnControls() & .turnOffControls() Turn on/off optional control elements within the root element. dc currently supports the following html control elements. @@ -279,6 +284,9 @@ following html control elements. content of this element is then replaced with the current filter value using the filter printer function. This type of element will be turned off automatically if the filter is cleared. + The method (display or visibility) for turning on/off the controls depends on the + `controlsUseVisibility` flag. + #### .transitionDuration([duration]) Set or get the animation transition duration(in milliseconds) for this chart instance. Default duration is 750ms. @@ -2060,4 +2068,74 @@ integer formatting. ```js // format ticks to 2 decimal places chart.tickFormat(d3.format('.2f')); -``` \ No newline at end of file +``` + +## Select Menu +Includes: [Base Mixin](#base-mixin) + +The select menu is a simple widget designed to filter a dimension by selecting an option from +an HTML menu. The menu can be optionally turned into a multiselect.

+

dc.selectMenu(parent[, chartGroup])

+

Create a select menu instance and attach it to the given parent element.

+

Parameters:

+
    +
  • parent : string | node | selection - any valid +d3 single selector specifying +a dom block element such as a div; or a dom element or d3 selection.

    +
  • +
  • chartGroup : string (optional) - name of the chart group this chart instance should be placed in. +Interaction with a chart will only trigger events and redraws within the chart’s group.

    +
  • +
+

Returns: +A newly created select menu instance.

+
  var select = dc.selectMenu('#select-container')
+                 .dimension(states)
+                 .group(stateGroup);
+
+  // the option text can be set via the title() function
+  // by default the option text is '`key`: `value`'
+  select.title(function(d){
+     return 'STATE: ' + d.key;
+  })
+
+

.order([function])

+

Get or set the function that controls the ordering of option tags in the +select menu. By default options are ordered by the group key in ascending +order. To order by the group’s value for example an appropriate comparator + function needs to be specified:

+
    chart.order(function(a,b) {
+        return a.value > b.value ? 1 : b.value > a.value ? -1 : 0;
+    });
+

.promptText([value])

+

Gets or sets the text displayed in the options used to prompt selection. +The default is ‘Select all’.

+
    chart.promptText('All states');
+

.filterDisplayed([function])

+

Get or set the function that filters option tags prior to display. +By default options with a value of < 1 are not displayed. +To always display all options override the filterDisplayed function:

+
    chart.filterDisplayed(function() {
+        return true;
+    });
+

.multiple([bool])

+

Controls the type of select menu (single select is default). Setting it to true converts the underlying +HTML tag into a multiple select.

+
    chart.multiple(true);
+

.size([number])

+

Controls the height, in lines, of the select menu, when .multiple() is true. Default: undefined (not set).

diff --git a/web/docs/stock.html b/web/docs/stock.html index bdb535d67..c39d43715 100644 --- a/web/docs/stock.html +++ b/web/docs/stock.html @@ -145,21 +145,36 @@
.turnOnControls()
+ + + +
  • +
    + +
    + +
    +

    dc.js >=2.1 uses visibility: hidden to hide/show controls without +disrupting the layout. To return the old display: none behavior, +set chart.controlsUseVisibility(false) and use that style instead.

    + +
    +
        <div id='chart'>
            <a class='reset'
               href='javascript:myChart.filterAll();dc.redrawAll();'
    -          style='display: none;'>reset</a>
    +          style='visibility: hidden;'>reset</a>
         </div>
     
  • -
  • +
  • - +

    dc.js will also automatically inject the current filter value into any html element with its css class set to filter

    @@ -167,7 +182,7 @@
    .turnOnControls()
        <div id='chart'>
    -        <span class='reset' style='display: none;'>
    +        <span class='reset' style='visibility: hidden;'>
               Current filter: <span class='filter'></span>
             </span>
         </div>
    @@ -178,11 +193,11 @@ 
    .turnOnControls()
  • -
  • +
  • - +

    Load your data

    @@ -191,11 +206,11 @@

    Load your data

  • -
  • +
  • - +

    Data can be loaded through regular means with your favorite javascript library

    @@ -211,11 +226,11 @@

    Load your data

  • -
  • +
  • - +

    Since its a csv file we need to format the data a bit.

    @@ -234,11 +249,11 @@

    Load your data

  • -
  • +
  • - +

    Create Crossfilter Dimensions and Groups

    @@ -247,11 +262,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    See the crossfilter API for reference.

    @@ -263,11 +278,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Dimension by year

    @@ -280,11 +295,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Maintain running tallies by year as filters are applied or removed

    @@ -330,11 +345,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Dimension by full date

    @@ -347,11 +362,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Dimension by month

    @@ -364,11 +379,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Group by total movement within month

    @@ -381,11 +396,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Group by total volume within move, and scale down result

    @@ -415,11 +430,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Create categorical dimension

    @@ -432,11 +447,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Produce counts records in the dimension

    @@ -447,11 +462,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Determine a histogram of percent changes

    @@ -465,11 +480,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Summarize volume by quarter

    @@ -494,11 +509,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Counts per weekday

    @@ -514,11 +529,11 @@

    Create Crossfilter Dimensions

  • -
  • +
  • - +

    Define Chart Attributes

    Define chart attributes using fluent methods. See the @@ -529,11 +544,11 @@

    Define Chart Attributes

  • -
  • +
  • - +

    Bubble Chart

    @@ -542,11 +557,11 @@

    Bubble Chart

  • -
  • +
  • - +

    Create a bubble chart and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -562,11 +577,11 @@

    Bubble Chart

  • -
  • +
  • - +

    (optional) define chart width, default = 200

    @@ -577,11 +592,11 @@

    Bubble Chart

  • -
  • +
  • - +

    (optional) define chart height, default = 200

    @@ -592,11 +607,11 @@

    Bubble Chart

  • -
  • +
  • - +

    (optional) define chart transition duration, default = 750

    @@ -609,11 +624,11 @@

    Bubble Chart

  • -
  • +
  • - +

    The bubble chart expects the groups are reduced to multiple values which are used to generate x, y, and radius for each key (bubble) in the group

    @@ -625,11 +640,11 @@

    Bubble Chart

  • -
  • +
  • - +

    (optional) define color function or array for bubbles: ColorBrewer

    @@ -640,11 +655,11 @@

    Bubble Chart

  • -
  • +
  • - +

    (optional) define color domain to match your data domain if you want to bind data or color

    @@ -655,11 +670,11 @@

    Bubble Chart

  • -
  • +
  • - +
    Accessors
    @@ -668,11 +683,11 @@
    Accessors
  • -
  • +
  • - +

    Accessor functions are applied to each value returned by the grouping

    @@ -681,11 +696,11 @@
    Accessors
  • -
  • +
  • - +

    .colorAccessor - the returned value will be passed to the .colors() scale to determine a fill color

    @@ -698,11 +713,11 @@
    Accessors
  • -
  • +
  • - +

    .keyAccessor - the X value will be passed to the .x() scale to determine pixel location

    @@ -715,11 +730,11 @@
    Accessors
  • -
  • +
  • - +

    .valueAccessor - the Y value will be passed to the .y() scale to determine pixel location

    @@ -732,11 +747,11 @@
    Accessors
  • -
  • +
  • - +

    .radiusValueAccessor - the value will be passed to the .r() scale to determine radius size; by default this maps linearly to [0,100]

    @@ -754,11 +769,11 @@
    Accessors
  • -
  • +
  • - +
    Elastic Scaling
    @@ -767,11 +782,11 @@
    Elastic Scaling
  • -
  • +
  • - +

    .elasticY and .elasticX determine whether the chart should rescale each axis to fit the data.

    @@ -783,11 +798,11 @@
    Elastic Scaling
  • -
  • +
  • - +

    .yAxisPadding and .xAxisPadding add padding to data above and below their max values in the same unit domains as the Accessors.

    @@ -800,11 +815,11 @@
    Elastic Scaling
  • -
  • +
  • - +

    (optional) render horizontal grid lines, default=false

    @@ -815,11 +830,11 @@
    Elastic Scaling
  • -
  • +
  • - +

    (optional) render vertical grid lines, default=false

    @@ -830,11 +845,11 @@
    Elastic Scaling
  • -
  • +
  • - +

    (optional) render an axis label below the x axis

    @@ -845,11 +860,11 @@
    Elastic Scaling
  • -
  • +
  • - +

    (optional) render a vertical axis lable left of the y axis

    @@ -860,11 +875,11 @@
    Elastic Scaling
  • -
  • +
  • - +
    Labels and Titles
    @@ -873,11 +888,11 @@
    Labels and Titles
  • -
  • +
  • - +

    Labels are displayed on the chart for each bubble. Titles displayed on mouseover. (optional) whether chart should render labels, default = true

    @@ -892,11 +907,11 @@
    Labels and Titles
  • -
  • +
  • - +

    (optional) whether chart should render titles, default = false

    @@ -915,11 +930,11 @@
    Labels and Titles
  • -
  • +
  • - +

    Customize Axes

    @@ -928,11 +943,11 @@

    Customize Axes

  • -
  • +
  • - +

    Set a custom tick format. Both .yAxis() and .xAxis() return an axis object, so any additional method chaining applies to the axis, not the chart.

    @@ -946,11 +961,11 @@

    Customize Axes

  • -
  • +
  • - +

    Pie/Donut Charts

    @@ -959,11 +974,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    Create a pie chart and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -979,11 +994,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) define chart width, default = 200

    @@ -994,11 +1009,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) define chart height, default = 200

    @@ -1009,11 +1024,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    Define pie radius

    @@ -1024,11 +1039,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    Set dimension

    @@ -1039,11 +1054,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    Set group

    @@ -1054,11 +1069,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) by default pie chart will use group.key as its label but you can overwrite it with a closure.

    @@ -1080,11 +1095,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) whether chart should render labels, default = true

    @@ -1095,11 +1110,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) if inner radius is used then a donut chart will be generated instead of pie chart

    @@ -1110,11 +1125,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) define chart transition duration, default = 350

    @@ -1125,11 +1140,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) define color array for slices

    @@ -1140,11 +1155,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) define color domain to match your data domain if you want to bind data or color

    @@ -1155,11 +1170,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    (optional) define color value accessor

    @@ -1179,11 +1194,11 @@

    Pie/Donut Charts

  • -
  • +
  • - +

    Row Chart

    @@ -1192,11 +1207,11 @@

    Row Chart

  • -
  • +
  • - +

    Create a row chart and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -1216,11 +1231,11 @@

    Row Chart

  • -
  • +
  • - +

    Assign colors to each value in the x scale domain

    @@ -1234,11 +1249,11 @@

    Row Chart

  • -
  • +
  • - +

    Title sets the row text

    @@ -1253,11 +1268,11 @@

    Row Chart

  • -
  • +
  • - +

    Bar Chart

    @@ -1266,11 +1281,11 @@

    Bar Chart

  • -
  • +
  • - +

    Create a bar chart and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -1291,11 +1306,11 @@

    Bar Chart

  • -
  • +
  • - +

    (optional) whether bar should be center to its x value. Not needed for ordinal chart, default=false

    @@ -1306,11 +1321,11 @@

    Bar Chart

  • -
  • +
  • - +

    (optional) set gap between bars manually in px, default=2

    @@ -1321,11 +1336,11 @@

    Bar Chart

  • -
  • +
  • - +

    (optional) set filter brush rounding

    @@ -1339,11 +1354,11 @@

    Bar Chart

  • -
  • +
  • - +

    Customize the filter displayed in the control span

    @@ -1358,11 +1373,11 @@

    Bar Chart

  • -
  • +
  • - +

    Customize axes

    @@ -1375,11 +1390,11 @@

    Bar Chart

  • -
  • +
  • - +

    Stacked Area Chart

    @@ -1388,11 +1403,11 @@

    Stacked Area Chart

  • -
  • +
  • - +

    Specify an area chart by using a line chart with .renderArea(true).
    API: Stack Mixin, @@ -1412,11 +1427,11 @@

    Stacked Area Chart

  • -
  • +
  • - +

    Specify a “range chart” to link its brush extent with the zoom of the current “focus chart”.

    @@ -1432,11 +1447,11 @@

    Stacked Area Chart

  • -
  • +
  • - +
    Legend
    @@ -1445,11 +1460,11 @@
    Legend
  • -
  • +
  • - +

    Position the legend relative to the chart origin and specify items’ height and separation.

    @@ -1461,11 +1476,11 @@
    Legend
  • -
  • +
  • - +

    Add the base layer of the stack with group. The second parameter specifies a series name for use in the legend. @@ -1481,11 +1496,11 @@

    Legend
  • -
  • +
  • - +

    Stack additional layers with .stack. The first paramenter is a new group. The second parameter is the series name. The third is a value accessor.

    @@ -1499,11 +1514,11 @@
    Legend
  • -
  • +
  • - +

    Title can be called by any stack layer.

    @@ -1520,11 +1535,11 @@
    Legend
  • -
  • +
  • - +

    Range Chart

    @@ -1533,11 +1548,11 @@

    Range Chart

  • -
  • +
  • - +

    Since this bar chart is specified as “range chart” for the area chart, its brush extent will always match the zoom of the area chart.

    @@ -1559,11 +1574,11 @@

    Range Chart

  • -
  • +
  • - +

    Data Count

    @@ -1572,11 +1587,11 @@

    Data Count

  • -
  • +
  • - +

    Create a data count widget and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -1599,11 +1614,11 @@

    Data Count

  • -
  • +
  • - +

    (optional) .html sets different html when some records or all records are selected. .html replaces everything in the anchor with the html given using the following function. @@ -1620,11 +1635,11 @@

    Data Count

  • -
  • +
  • - +

    Data Table

    @@ -1633,11 +1648,11 @@

    Data Table

  • -
  • +
  • - +

    Create a data table widget and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -1669,11 +1684,11 @@

    Data Table

  • -
  • +
  • - +

    Data table does not use crossfilter group but rather a closure as a grouping function

    @@ -1688,11 +1703,11 @@

    Data Table

  • -
  • +
  • - +

    (optional) max number of records to be shown, default = 25

    @@ -1703,11 +1718,11 @@

    Data Table

  • -
  • +
  • - +

    There are several ways to specify the columns; see the data-table documentation. This code demonstrates generating the column header automatically based on the columns.

    @@ -1719,11 +1734,11 @@

    Data Table

  • -
  • +
  • - +

    Use the d.date field; capitalized automatically

    @@ -1734,11 +1749,11 @@

    Data Table

  • -
  • +
  • - +

    Use d.open, d.close

    @@ -1751,11 +1766,11 @@

    Data Table

  • -
  • +
  • - +

    Specify a custom format for column ‘Change’ by using a label with a function.

    @@ -1770,11 +1785,11 @@

    Data Table

  • -
  • +
  • - +

    Use d.volume

    @@ -1786,11 +1801,11 @@

    Data Table

  • -
  • +
  • - +

    (optional) sort using the given field, default = function(d){return d;}

    @@ -1803,11 +1818,11 @@

    Data Table

  • -
  • +
  • - +

    (optional) sort order, default = d3.ascending

    @@ -1818,11 +1833,11 @@

    Data Table

  • -
  • +
  • - +

    (optional) custom renderlet to post-process chart using D3

    @@ -1838,11 +1853,11 @@

    Data Table

  • -
  • +
  • - +

    Geo Choropleth Chart

    @@ -1851,11 +1866,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    Create a choropleth chart and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -1870,11 +1885,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    (optional) define chart width, default 200

    @@ -1885,11 +1900,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    (optional) define chart height, default 200

    @@ -1900,11 +1915,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    (optional) define chart transition duration, default 1000

    @@ -1915,11 +1930,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    set crossfilter dimension, dimension key should match the name retrieved in geojson layer

    @@ -1930,11 +1945,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    set crossfilter group

    @@ -1945,11 +1960,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    (optional) define color function or array for bubbles

    @@ -1961,11 +1976,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    (optional) define color domain to match your data domain if you want to bind data or color

    @@ -1976,11 +1991,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    (optional) define color value accessor

    @@ -1991,11 +2006,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    Project the given geojson. You can call this function multiple times with different geojson feed to generate multiple layers of geo paths.

    @@ -2015,11 +2030,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    (optional) closure to generate title for path, default = d.key + ': ' + d.value

    @@ -2032,11 +2047,11 @@

    Geo Choropleth Chart

  • -
  • +
  • - +

    Bubble Overlay Chart

    @@ -2045,11 +2060,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    Create a overlay bubble chart and use the given css selector as anchor. You can also specify an optional chart group for this chart to be scoped within. When a chart belongs @@ -2064,11 +2079,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    The bubble overlay chart does not generate its own svg element but rather reuses an existing svg to generate its overlay layer

    @@ -2080,11 +2095,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) define chart width, default = 200

    @@ -2095,11 +2110,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) define chart height, default = 200

    @@ -2110,11 +2125,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) define chart transition duration, default = 1000

    @@ -2125,11 +2140,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    Set crossfilter dimension, dimension key should match the name retrieved in geo json layer

    @@ -2140,11 +2155,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    Set crossfilter group

    @@ -2155,11 +2170,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    Closure used to retrieve x value from multi-value group

    @@ -2170,11 +2185,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    Closure used to retrieve y value from multi-value group

    @@ -2185,11 +2200,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) define color function or array for bubbles

    @@ -2201,11 +2216,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) define color domain to match your data domain if you want to bind data or color

    @@ -2216,11 +2231,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) define color value accessor

    @@ -2231,11 +2246,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    Closure used to retrieve radius value from multi-value group

    @@ -2246,11 +2261,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    set radius scale

    @@ -2261,11 +2276,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) whether chart should render labels, default = true

    @@ -2276,11 +2291,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) closure to generate label per bubble, default = group.key

    @@ -2291,11 +2306,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) whether chart should render titles, default = false

    @@ -2306,11 +2321,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) closure to generate title per bubble, default = d.key + ': ' + d.value

    @@ -2323,11 +2338,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    add data point to its layer dimension key that matches point name: it will be used to generate a bubble. Multiple data points can be added to the bubble overlay to generate @@ -2341,11 +2356,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    (optional) setting debug flag to true will generate a transparent layer on top of bubble overlay which can be used to obtain relative x,y coordinate for specific @@ -2359,11 +2374,11 @@

    Bubble Overlay Chart

  • -
  • +
  • - +

    Rendering

    @@ -2372,11 +2387,11 @@

    Rendering

  • -
  • +
  • - +

    simply call .renderAll() to render all charts on the page

    @@ -2389,11 +2404,11 @@

    Rendering

  • -
  • +
  • - +

    Or you can render charts belonging to a specific chart group

    @@ -2404,11 +2419,11 @@

    Rendering

  • -
  • +
  • - +

    Once rendered you can call .redrawAll() to update charts incrementally when the data changes, without re-rendering everything

    @@ -2420,11 +2435,11 @@

    Rendering

  • -
  • +
  • - +

    Or you can choose to redraw only those charts associated with a specific chart group

    @@ -2438,11 +2453,11 @@

    Rendering

  • -
  • +
  • - +

    Versions

    @@ -2451,11 +2466,11 @@

    Versions

  • -
  • +
  • - +

    Determine the current version of dc with dc.version

    @@ -2466,11 +2481,11 @@

    Versions

  • -
  • +
  • - +

    Determine latest stable version in the repo via Github API

    diff --git a/web/examples/index.html b/web/examples/index.html index 0bc5ce24c..e5ee746a6 100644 --- a/web/examples/index.html +++ b/web/examples/index.html @@ -33,9 +33,10 @@

    Examples of using dc.js

    scatter brushing scatter series scatter - series + select + series stacked bar table on aggregated data diff --git a/web/js/dc.js b/web/js/dc.js index fcd321ad0..773c80599 100644 --- a/web/js/dc.js +++ b/web/js/dc.js @@ -706,6 +706,7 @@ dc.baseMixin = function (_chart) { return _chart.keyAccessor()(d) + ': ' + _chart.valueAccessor()(d); }; var _renderTitle = true; + var _controlsUseVisibility = true; var _transitionDuration = 750; @@ -1063,6 +1064,19 @@ dc.baseMixin = function (_chart) { return _chart; }; + /** + #### .controlsUseVisibility + If set, use the `visibility` attribute instead of the `display` attribute, for less disruption + to layout. Default: true. + **/ + _chart.controlsUseVisibility = function (_) { + if (!arguments.length) { + return _controlsUseVisibility; + } + _controlsUseVisibility = _; + return _chart; + }; + /** #### .turnOnControls() & .turnOffControls() Turn on/off optional control elements within the root element. dc currently supports the @@ -1075,19 +1089,25 @@ dc.baseMixin = function (_chart) { content of this element is then replaced with the current filter value using the filter printer function. This type of element will be turned off automatically if the filter is cleared. + The method (display or visibility) for turning on/off the controls depends on the + `controlsUseVisibility` flag. + **/ _chart.turnOnControls = function () { if (_root) { - _chart.selectAll('.reset').style('display', null); - _chart.selectAll('.filter').text(_filterPrinter(_chart.filters())).style('display', null); + var attribute = _chart.controlsUseVisibility() ? 'visibility' : 'display'; + _chart.selectAll('.reset').style(attribute, null); + _chart.selectAll('.filter').text(_filterPrinter(_chart.filters())).style(attribute, null); } return _chart; }; _chart.turnOffControls = function () { if (_root) { - _chart.selectAll('.reset').style('display', 'none'); - _chart.selectAll('.filter').style('display', 'none').text(_chart.filter()); + var attribute = _chart.controlsUseVisibility() ? 'visibility' : 'display'; + var value = _chart.controlsUseVisibility() ? 'hidden' : 'none'; + _chart.selectAll('.reset').style(attribute, value); + _chart.selectAll('.filter').style(attribute, value).text(_chart.filter()); } return _chart; }; @@ -8886,6 +8906,239 @@ dc.boxPlot = function (parent, chartGroup) { return _chart.anchor(parent, chartGroup); }; +/** + ## Select Menu + Includes: [Base Mixin](#base-mixin) + +The select menu is a simple widget designed to filter a dimension by selecting an option from +an HTML menu. The menu can be optionally turned into a multiselect.\n\n #### dc.selectMenu(parent[, chartGroup])\n Create a select menu instance and attach it to the given parent element.\n\n Parameters:\n* parent : string | node | selection - any valid\n [d3 single selector](https://github.com/mbostock/d3/wiki/Selections#selecting-elements) specifying\n a dom block element such as a div; or a dom element or d3 selection.\n\n* chartGroup : string (optional) - name of the chart group this chart instance should be placed in.\n Interaction with a chart will only trigger events and redraws within the chart's group.\n\n Returns:\n A newly created select menu instance.\n\n ```js\n var select = dc.selectMenu('#select-container')\n .dimension(states)\n .group(stateGroup);\n\n // the option text can be set via the title() function\n // by default the option text is '`key`: `value`'\n select.title(function(d){\n return 'STATE: ' + d.key;\n })\n ```\n\n **/\ndc.selectMenu = function (parent, chartGroup) {\n var SELECT_CSS_CLASS = 'dc-select-menu';\n var OPTION_CSS_CLASS = 'dc-select-option';\n\n var _chart = dc.baseMixin({});\n\n var _select;\n var _promptText = 'Select all';\n var _multiple = false;\n var _size = null;\n var _order = function (a, b) {\n return _chart.keyAccessor()(a) > _chart.keyAccessor()(b) ?\n 1 : _chart.keyAccessor()(b) > _chart.keyAccessor()(a) ?\n -1 : 0;\n };\n\n var _filterDisplayed = function (d) {\n return _chart.valueAccessor()(d) > 0;\n };\n\n _chart.data(function (group) {\n return group.all().filter(_filterDisplayed);\n });\n\n _chart._doRender = function () {\n _chart.select('select').remove();\n _select = _chart.root().append('select')\n .classed(SELECT_CSS_CLASS, true);\n\n setAttributes();\n\n _select.append('option').text(_promptText).attr('value', '');\n renderOptions();\n return _chart;\n };\n\n _chart._doRedraw = function () {\n setAttributes();\n renderOptions();\n // select the option(s) corresponding to current filter(s)\n if (_chart.hasFilter() && _multiple) {\n _select.selectAll('option')\n .filter(function (d) {\n return d && _chart.filters().indexOf(String(_chart.keyAccessor()(d))) >= 0;\n })\n .property('selected', true);\n } else if (_chart.hasFilter()) {\n _select.property('value', _chart.filter());\n } else {\n _select.property('value', '');\n }\n return _chart;\n };\n\n function renderOptions () {\n var options = _select.selectAll('option.' + OPTION_CSS_CLASS)\n .data(_chart.data(), function (d) { return _chart.keyAccessor()(d); });\n\n options.enter()\n .append('option')\n .classed(OPTION_CSS_CLASS, true)\n .attr('value', function (d) { return _chart.keyAccessor()(d); });\n\n options.text(_chart.title());\n options.exit().remove();\n _select.selectAll('option.' + OPTION_CSS_CLASS).sort(_order);\n\n _select.on('change', onChange);\n return options;\n }\n\n function onChange (d , i) {\n var selectedOptions = Array.prototype.slice.call(d3.event.target.selectedOptions);\n var values = selectedOptions.map(function (d) {\n return d.value;\n });\n // check if only prompt option is selected\n if (values.length === 1 && values[0] === '') {\n values = null;\n } else if (values.length === 1) {\n values = values[0];\n }\n _chart.onChange(values);\n }\n\n _chart.onChange = function (val) {\n if (val && _multiple) {\n _chart.replaceFilter([val]);\n } else if (val) {\n _chart.replaceFilter(val);\n } else {\n _chart.filterAll();\n }\n dc.events.trigger(function () {\n _chart.redrawGroup();\n });\n };\n\n function setAttributes () {\n if (_multiple) {\n _select.attr('multiple', true);\n } else {\n _select.attr('multiple', null);\n }\n if (_size !== null) {\n _select.attr('size', _size);\n } else {\n _select.attr('size', null);\n }\n }\n\n /**\n #### .order([function])\n Get or set the function that controls the ordering of option tags in the\n select menu. By default options are ordered by the group key in ascending\n order. To order by the group's value for example an appropriate comparator\n function needs to be specified:\n ```\n chart.order(function(a,b) {\n return a.value > b.value ? 1 : b.value > a.value ? -1 : 0;\n });\n ```\n **/\n _chart.order = function (_) {\n if (!arguments.length) {\n return _order;\n }\n _order = _;\n return _chart;\n };\n\n /**\n #### .promptText([value])\n Gets or sets the text displayed in the options used to prompt selection.\n The default is 'Select all'.\n ```\n chart.promptText('All states');\n ```\n **/\n _chart.promptText = function (_) {\n if (!arguments.length) {\n return _promptText;\n }\n _promptText = _;\n return _chart;\n };\n\n /**\n #### .filterDisplayed([function])\n Get or set the function that filters option tags prior to display.\n By default options with a value of < 1 are not displayed.\n To always display all options override the `filterDisplayed` function:\n ```\n chart.filterDisplayed(function() {\n return true;\n });\n ```\n **/\n _chart.filterDisplayed = function (_) {\n if (!arguments.length) {\n return _filterDisplayed;\n }\n _filterDisplayed = _;\n return _chart;\n };\n\n /**\n #### .multiple([bool])\n Controls the type of select menu (single select is default). Setting it to true converts the underlying\n HTML tag into a multiple select.\n ```\n chart.multiple(true);\n ```\n **/\n _chart.multiple = function (_) {\n if (!arguments.length) {\n return _multiple;\n }\n _multiple = _;\n\n return _chart;\n };\n\n /**\n #### .size([number])\n Controls the height, in lines, of the select menu, when `.multiple()` is true. Default: undefined (not set).\n **/\n _chart.size = function (_) {\n if (!arguments.length) {\n return _size;\n }\n _size = _;\n\n return _chart;\n };\n\n return _chart.anchor(parent, chartGroup);\n};\n","// Renamed functions\n\ndc.abstractBubbleChart = dc.bubbleMixin;\ndc.baseChart = dc.baseMixin;\ndc.capped = dc.capMixin;\ndc.colorChart = dc.colorMixin;\ndc.coordinateGridChart = dc.coordinateGridMixin;\ndc.marginable = dc.marginMixin;\ndc.stackableChart = dc.stackMixin;\n\n// Expose d3 and crossfilter, so that clients in browserify\n// case can obtain them if they need them.\ndc.d3 = d3;\ndc.crossfilter = crossfilter;\n\nreturn dc;}\n if(typeof define === \"function\" && define.amd) {\n define([\"d3\", \"crossfilter\"], _dc);\n } else if(typeof module === \"object\" && module.exports) {\n var _d3 = require('d3');\n var _crossfilter = require('crossfilter');\n // When using npm + browserify, 'crossfilter' is a function,\n // since package.json specifies index.js as main function, and it\n // does special handling. When using bower + browserify,\n // there's no main in bower.json (in fact, there's no bower.json),\n // so we need to fix it.\n if (typeof _crossfilter !== \"function\") {\n _crossfilter = _crossfilter.crossfilter;\n }\n module.exports = _dc(_d3, _crossfilter);\n } else {\n this.dc = _dc(d3, crossfilter);\n }\n}\n)();\n"]} \ No newline at end of file diff --git a/web/js/dc.min.js b/web/js/dc.min.js index 0ab227df2..9333a2911 100644 --- a/web/js/dc.min.js +++ b/web/js/dc.min.js @@ -17,7 +17,7 @@ * limitations under the License. */ -!function(){function a(a,b){"use strict";var c={version:"2.1.0-dev",constants:{CHART_CLASS:"dc-chart",DEBUG_GROUP_CLASS:"debug",STACK_CLASS:"stack",DESELECTED_CLASS:"deselected",SELECTED_CLASS:"selected",NODE_INDEX_NAME:"__index__",GROUP_INDEX_NAME:"__group_index__",DEFAULT_CHART_GROUP:"__default_chart_group__",EVENT_DELAY:40,NEGLIGIBLE_NUMBER:1e-10},_renderlet:null};c.chartRegistry=function(){function a(a){return a||(a=c.constants.DEFAULT_CHART_GROUP),b[a]||(b[a]=[]),a}var b={};return{has:function(a){for(var c in b)if(b[c].indexOf(a)>=0)return!0;return!1},register:function(c,d){d=a(d),b[d].push(c)},deregister:function(c,d){d=a(d);for(var e=0;e=b||void 0===b||c.disableTransitions)return a;var f=a.transition(e).duration(b);return"function"==typeof d&&d(f),f},c.optionalTransition=function(a,b,d,e){return a?function(a){return c.transition(a,b,d,e)}:function(a){return a}},c.units={},c.units.integers=function(a,b){return Math.abs(b-a)},c.units.ordinal=function(a,b,c){return c},c.units.fp={},c.units.fp.precision=function(a){var b=function(a,d){var e=Math.abs((d-a)/b.resolution);return c.utils.isNegligible(e-Math.floor(e))?Math.floor(e):Math.ceil(e)};return b.resolution=a,b},c.round={},c.round.floor=function(a){return Math.floor(a)},c.round.ceil=function(a){return Math.ceil(a)},c.round.round=function(a){return Math.round(a)},c.override=function(a,b,c){var d=a[b];a["_"+b]=d,a[b]=c},c.renderlet=function(a){return arguments.length?(c._renderlet=a,c):c._renderlet},c.instanceOfChart=function(a){return a instanceof Object&&a.__dcFlag__&&!0},c.errors={},c.errors.Exception=function(a){var b=a||"Unexpected internal error";this.message=b,this.toString=function(){return b}},c.errors.InvalidStateException=function(){c.errors.Exception.apply(this,arguments)},c.dateFormat=a.time.format("%m/%d/%Y"),c.printers={},c.printers.filters=function(a){for(var b="",d=0;d0&&(b+=", "),b+=c.printers.filter(a[d]);return b},c.printers.filter=function(a){var b="";return"undefined"!=typeof a&&null!==a&&(a instanceof Array?a.length>=2?b="["+c.utils.printSingleValue(a[0])+" -> "+c.utils.printSingleValue(a[1])+"]":a.length>=1&&(b=c.utils.printSingleValue(a[0])):b=c.utils.printSingleValue(a)),b},c.pluck=function(a,b){return b?function(c,d){return b.call(c,c[a],d)}:function(b){return b[a]}},c.utils={},c.utils.printSingleValue=function(a){var b=""+a;return a instanceof Date?b=c.dateFormat(a):"string"==typeof a?b=a:c.utils.isFloat(a)?b=c.utils.printSingleValue.fformat(a):c.utils.isInteger(a)&&(b=Math.round(a)),b},c.utils.printSingleValue.fformat=a.format(".2f"),c.utils.add=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()+b),c}if("string"==typeof b){var d=+b/100;return a>0?a*(1+d):a*(1-d)}return a+b},c.utils.subtract=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()-b),c}if("string"==typeof b){var d=+b/100;return 0>a?a*(1+d):a*(1-d)}return a-b},c.utils.isNumber=function(a){return a===+a},c.utils.isFloat=function(a){return a===+a&&a!==(0|a)},c.utils.isInteger=function(a){return a===+a&&a===(0|a)},c.utils.isNegligible=function(a){return!c.utils.isNumber(a)||a-c.constants.NEGLIGIBLE_NUMBER},c.utils.clamp=function(a,b,c){return b>a?b:a>c?c:a};var d=0;return c.utils.uniqueId=function(){return++d},c.utils.nameToId=function(a){return a.toLowerCase().replace(/[\s]/g,"_").replace(/[\.']/g,"")},c.utils.appendOrSelect=function(a,b,c){c=c||b;var d=a.select(b);return d.empty()&&(d=a.append(c)),d},c.utils.safeNumber=function(a){return c.utils.isNumber(+a)?+a:0},c.logger={},c.logger.enableDebugLog=!1,c.logger.warn=function(a){return console&&(console.warn?console.warn(a):console.log&&console.log(a)),c.logger},c.logger.debug=function(a){return c.logger.enableDebugLog&&console&&(console.debug?console.debug(a):console.log&&console.log(a)),c.logger},c.logger.deprecate=function(a,b){function d(){return e||(c.logger.warn(b),e=!0),a.apply(this,arguments)}var e=!1;return d},c.events={current:null},c.events.trigger=function(a,b){return b?(c.events.current=a,void setTimeout(function(){a===c.events.current&&a()},b)):void a()},c.filters={},c.filters.RangedFilter=function(a,b){var c=new Array(a,b);return c.isFiltered=function(a){return a>=this[0]&&a=b[0][0]&&c=b[0][1]&&dq?b:q},s=r,t=200,u=function(a){var b=a&&a.getBoundingClientRect&&a.getBoundingClientRect().height;return b&&b>t?b:t},v=u,w=c.pluck("key"),x=c.pluck("value"),y=c.pluck("key"),z=c.pluck("key"),A=!1,B=function(a){return d.keyAccessor()(a)+": "+d.valueAccessor()(a)},C=!0,D=750,E=c.printers.filters,F=["dimension","group"],G=c.constants.DEFAULT_CHART_GROUP,H=a.dispatch("preRender","postRender","preRedraw","postRedraw","filtered","zoomed","renderlet","pretransition"),I=[],J=function(a,b){return a.filter(null),0===b.length?a.filter(null):a.filterFunction(function(a){for(var c=0;c=d&&d>=a)return!0}return!1}),b},K=function(a){return a.all()};d.width=function(b){return arguments.length?(s=a.functor(b||r),d):s(l.node())},d.height=function(b){return arguments.length?(v=a.functor(b||u),d):v(l.node())},d.minWidth=function(a){return arguments.length?(q=a,d):q},d.minHeight=function(a){return arguments.length?(t=a,d):t},d.dimension=function(a){return arguments.length?(i=a,d.expireCache(),d):i},d.data=function(b){return arguments.length?(K=a.functor(b),d.expireCache(),d):K.call(d,j)},d.group=function(a,b){return arguments.length?(j=a,d._groupName=b,d.expireCache(),d):j},d.ordering=function(a){return arguments.length?(z=a,o=b.quicksort.by(z),d.expireCache(),d):z},d._computeOrderedGroups=function(a){var c=a.slice(0);return c.length<=1?c:(o||(o=b.quicksort.by(z)),o(c,0,c.length))},d.filterAll=function(){return d.filter(null)},d.select=function(a){return l.select(a)},d.selectAll=function(a){return l?l.selectAll(a):null},d.anchor=function(b,e){return arguments.length?(c.instanceOfChart(b)?(k=b.anchor(),l=b.root(),n=!0):(k=b,l=a.select(k),l.classed(c.constants.CHART_CLASS,!0),c.registerChart(d,e),n=!1),G=e,d):k},d.anchorName=function(){var a=d.anchor();return a&&a.id?a.id:a&&a.replace?a.replace("#",""):"dc-chart"+d.chartID()},d.root=function(a){return arguments.length?(l=a,d):l},d.svg=function(a){return arguments.length?(m=a,d):m},d.resetSvg=function(){return d.select("svg").remove(),f()},d.filterPrinter=function(a){return arguments.length?(E=a,d):E},d.turnOnControls=function(){return l&&(d.selectAll(".reset").style("display",null),d.selectAll(".filter").text(E(d.filters())).style("display",null)),d},d.turnOffControls=function(){return l&&(d.selectAll(".reset").style("display","none"),d.selectAll(".filter").style("display","none").text(d.filter())),d},d.transitionDuration=function(a){return arguments.length?(D=a,d):D},d._mandatoryAttributes=function(a){return arguments.length?(F=a,d):F},d.render=function(){H.preRender(d),F&&F.forEach(g);var a=d._doRender();return p&&p.render(),d._activateRenderlets("postRender"),a},d._activateRenderlets=function(a){H.pretransition(d),d.transitionDuration()>0&&m?m.transition().duration(d.transitionDuration()).each("end",function(){H.renderlet(d),a&&H[a](d)}):(H.renderlet(d),a&&H[a](d))},d.redraw=function(){e(),H.preRedraw(d);var a=d._doRedraw();return p&&p.render(),d._activateRenderlets("postRedraw"),a},d.redrawGroup=function(){c.redrawAll(d.chartGroup())},d.renderGroup=function(){c.renderAll(d.chartGroup())},d._invokeFilteredListener=function(a){void 0!==a&&H.filtered(d,a)},d._invokeZoomedListener=function(){H.zoomed(d)};var L=function(a,b){return null===b||"undefined"==typeof b?a.length>0:a.some(function(a){return a>=b&&b>=a})};d.hasFilterHandler=function(a){return arguments.length?(L=a,d):L},d.hasFilter=function(a){return L(I,a)};var M=function(a,b){for(var c=0;c=b){a.splice(c,1);break}return a};d.removeFilterHandler=function(a){return arguments.length?(M=a,d):M};var N=function(a,b){return a.push(b),a};d.addFilterHandler=function(a){return arguments.length?(N=a,d):N};var O=function(){return[]};return d.resetFilterHandler=function(a){return arguments.length?(O=a,d):O},d.replaceFilter=function(a){I=[],d.filter(a)},d.filter=function(a){return arguments.length?(a instanceof Array&&a[0]instanceof Array&&!a.isFiltered?a[0].forEach(function(a){d.hasFilter(a)?M(I,a):N(I,a)}):null===a?I=O(I):d.hasFilter(a)?M(I,a):N(I,a),h(),d._invokeFilteredListener(a),null!==l&&d.hasFilter()?d.turnOnControls():d.turnOffControls(),d):I.length>0?I[0]:null},d.filters=function(){return I},d.highlightSelected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!0),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.fadeDeselected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!0)},d.resetHighlight=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.onClick=function(a){var b=d.keyAccessor()(a);c.events.trigger(function(){d.filter(b),d.redrawGroup()})},d.filterHandler=function(a){return arguments.length?(J=a,d):J},d._doRender=function(){return d},d._doRedraw=function(){return d},d.legendables=function(){return[]},d.legendHighlight=function(){},d.legendReset=function(){},d.legendToggle=function(){},d.isLegendableHidden=function(){return!1},d.keyAccessor=function(a){return arguments.length?(w=a,d):w},d.valueAccessor=function(a){return arguments.length?(x=a,d):x},d.label=function(a){return arguments.length?(y=a,A=!0,d):y},d.renderLabel=function(a){return arguments.length?(A=a,d):A},d.title=function(a){return arguments.length?(B=a,d):B},d.renderTitle=function(a){return arguments.length?(C=a,d):C},d.renderlet=c.logger.deprecate(function(a){return d.on("renderlet."+c.utils.uniqueId(),a),d},'chart.renderlet has been deprecated. Please use chart.on("renderlet.", renderletFunction)'),d.chartGroup=function(a){return arguments.length?(n||c.deregisterChart(d,G),G=a,n||c.registerChart(d,G),d):G},d.expireCache=function(){return d},d.legend=function(a){return arguments.length?(p=a,p.parent(d),d):p},d.chartID=function(){return d.__dcFlag__},d.options=function(a){var b=["anchor","group","xAxisLabel","yAxisLabel","stack","title","point","getColor","overlayGeoJson"];for(var e in a)"function"==typeof d[e]?a[e]instanceof Array&&-1!==b.indexOf(e)?d[e].apply(d,a[e]):d[e].call(d,a[e]):c.logger.debug("Not a valid option setter name: "+e);return d},d.on=function(a,b){return H.on(a,b),d},d},c.marginMixin=function(a){var b={top:10,right:50,bottom:30,left:30};return a.margins=function(c){return arguments.length?(b=c,a):b},a.effectiveWidth=function(){return a.width()-a.margins().left-a.margins().right},a.effectiveHeight=function(){return a.height()-a.margins().top-a.margins().bottom},a},c.colorMixin=function(b){var c=a.scale.category20c(),d=!0,e=function(a){return b.keyAccessor()(a)};return b.colors=function(d){return arguments.length?(c=d instanceof Array?a.scale.quantize().range(d):a.functor(d),b):c},b.ordinalColors=function(c){return b.colors(a.scale.ordinal().range(c))},b.linearColors=function(c){return b.colors(a.scale.linear().range(c).interpolate(a.interpolateHcl))},b.colorAccessor=function(a){return arguments.length?(e=a,d=!1,b):e},b.defaultColorAccessor=function(){return d},b.colorDomain=function(a){return arguments.length?(c.domain(a),b):c.domain()},b.calculateColorDomain=function(){var d=[a.min(b.data(),b.colorAccessor()),a.max(b.data(),b.colorAccessor())];return c.domain(d),b},b.getColor=function(a,b){return c(e.call(this,a,b))},b.colorCalculator=function(a){return arguments.length?(b.getColor=a,b):b.getColor},b},c.coordinateGridMixin=function(b){function d(){V=!0,Y&&(b.x().domain(m(b.x().domain(),z)),G&&b.x().domain(m(b.x().domain(),G.x().domain())));var a=b.x().domain(),d=c.filters.RangedFilter(a[0],a[1]);b.replaceFilter(d),b.rescale(),b.redraw(),G&&!n(b.filter(),G.filter())&&c.events.trigger(function(){G.replaceFilter(d),G.redraw()}),b._invokeZoomedListener(),c.events.trigger(function(){b.redrawGroup()},c.constants.EVENT_DELAY),V=!n(a,z)}function e(a,b){return!a||!b||a.length!==b.length||a.some(function(a,c){return a.toString()!==b[c].toString()})}function f(a,c){b.isOrdinal()?(b.elasticX()||0===y.domain().length)&&y.domain(b._ordinalXDomain()):b.elasticX()&&y.domain([b.xAxisMin(),b.xAxisMax()]);var d=y.domain();(c||e(B,d))&&b.rescale(),B=d,b.isOrdinal()?y.rangeBands([0,b.xAxisLength()],da,b._useOuterPadding()?ca:0):y.range([0,b.xAxisLength()]),I=I.scale(b.x()),g(a)}function g(a){var d=a.selectAll("g."+r);if(U){d.empty()&&(d=a.insert("g",":first-child").attr("class",p+" "+r).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var e=I.tickValues()?I.tickValues():"function"==typeof y.ticks?y.ticks(I.ticks()[0]):y.domain(),f=d.selectAll("line").data(e),g=f.enter().append("line").attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0).attr("opacity",0);c.transition(g,b.transitionDuration()).attr("opacity",1),c.transition(f,b.transitionDuration()).attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0),f.exit().remove()}else d.selectAll("line").remove()}function h(){return b._xAxisY()-b.margins().top}function i(){return b.anchorName().replace(/[ .#=\[\]]/g,"-")+"-clip"}function j(){var a=c.utils.appendOrSelect(v,"defs"),d=i(),e=c.utils.appendOrSelect(a,"#"+d,"clipPath").attr("id",d),f=2*ba;c.utils.appendOrSelect(e,"rect").attr("width",b.xAxisLength()+f).attr("height",b.yAxisHeight()+f).attr("transform","translate(-"+ba+", -"+ba+")")}function k(a){b.isOrdinal()&&(S=!1),f(b.g(),a),b._prepareYAxis(b.g()),b.plotData(),(b.elasticX()||W||a)&&b.renderXAxis(b.g()),(b.elasticY()||W||a)&&b.renderYAxis(b.g()),a?b.renderBrush(b.g(),!1):b.redrawBrush(b.g(),W),b.fadeDeselectedArea(),W=!1}function l(){aa?b._enableMouseZoom():_&&b._disableMouseZoom()}function m(b,c){var d=[];return d[0]=a.max([b[0],c[0]]),d[1]=a.min([b[1],c[1]]),d}function n(a,b){return a||b?a&&b?0===a.length&&0===b.length?!0:a[0].valueOf()===b[0].valueOf()&&a[1].valueOf()===b[1].valueOf()?!0:!1:!1:!0}function o(a){return a instanceof Array&&a.length>1}var p="grid-line",q="horizontal",r="vertical",s="y-axis-label",t="x-axis-label",u=12;b=c.colorMixin(c.marginMixin(c.baseMixin(b))),b.colors(a.scale.category10()),b._mandatoryAttributes().push("x");var v,w,x,y,z,A,B,C,D,E,F,G,H,I=a.svg.axis().orient("bottom"),J=c.units.integers,K=0,L=!1,M=0,N=a.svg.axis().orient("left"),O=0,P=!1,Q=0,R=a.svg.brush(),S=!0,T=!1,U=!1,V=!1,W=!1,X=[1,1/0],Y=!0,Z=a.behavior.zoom().on("zoom",d),$=a.behavior.zoom().on("zoom",null),_=!1,aa=!1,ba=0,ca=.5,da=0,ea=!1;return b.rescale=function(){return F=void 0,W=!0,b},b.rangeChart=function(a){return arguments.length?(G=a,G.focusChart(b),b):G},b.zoomScale=function(a){return arguments.length?(X=a,b):X},b.zoomOutRestrict=function(a){return arguments.length?(X[0]=a?1:0,Y=a,b):Y},b._generateG=function(a){return v=void 0===a?b.svg():a,w=v.append("g"),x=w.append("g").attr("class","chart-body").attr("transform","translate("+b.margins().left+", "+b.margins().top+")").attr("clip-path","url(#"+i()+")"),w},b.g=function(a){return arguments.length?(w=a,b):w},b.mouseZoomable=function(a){return arguments.length?(aa=a,b):aa},b.chartBodyG=function(a){return arguments.length?(x=a,b):x},b.x=function(a){return arguments.length?(y=a,z=y.domain(),b.rescale(),b):y},b.xOriginalDomain=function(){return z},b.xUnits=function(a){return arguments.length?(J=a,b):J},b.xAxis=function(a){return arguments.length?(I=a,b):I},b.elasticX=function(a){return arguments.length?(L=a,b):L},b.xAxisPadding=function(a){return arguments.length?(K=a,b):K},b.xUnitCount=function(){if(void 0===F){var a=b.xUnits()(b.x().domain()[0],b.x().domain()[1],b.x().domain());F=a instanceof Array?a.length:a}return F},b.useRightYAxis=function(a){return arguments.length?(ea=a,b):ea},b.isOrdinal=function(){return b.xUnits()===c.units.ordinal},b._useOuterPadding=function(){return!0},b._ordinalXDomain=function(){var a=b._computeOrderedGroups(b.data());return a.map(b.keyAccessor())},b.renderXAxis=function(a){var d=a.selectAll("g.x");d.empty()&&(d=a.append("g").attr("class","axis x").attr("transform","translate("+b.margins().left+","+b._xAxisY()+")"));var e=a.selectAll("text."+t);e.empty()&&b.xAxisLabel()&&(e=a.append("text").attr("class",t).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")").attr("text-anchor","middle")),b.xAxisLabel()&&e.text()!==b.xAxisLabel()&&e.text(b.xAxisLabel()),c.transition(d,b.transitionDuration()).attr("transform","translate("+b.margins().left+","+b._xAxisY()+")").call(I),c.transition(e,b.transitionDuration()).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")")},b._xAxisY=function(){return b.height()-b.margins().bottom},b.xAxisLength=function(){return b.effectiveWidth()},b.xAxisLabel=function(a,c){return arguments.length?(A=a,b.margins().bottom-=M,M=void 0===c?u:c,b.margins().bottom+=M,b):A},b._prepareYAxis=function(c){if(void 0===C||b.elasticY()){void 0===C&&(C=a.scale.linear());var d=b.yAxisMin()||0,e=b.yAxisMax()||0;C.domain([d,e]).rangeRound([b.yAxisHeight(),0])}C.range([b.yAxisHeight(),0]),N=N.scale(C),ea&&N.orient("right"),b._renderHorizontalGridLinesForAxis(c,C,N)},b.renderYAxisLabel=function(a,d,e,f){f=f||Q;var g=b.g().selectAll("text."+s+"."+a+"-label"),h=b.margins().top+b.yAxisHeight()/2;g.empty()&&d&&(g=b.g().append("text").attr("transform","translate("+f+","+h+"),rotate("+e+")").attr("class",s+" "+a+"-label").attr("text-anchor","middle").text(d)),d&&g.text()!==d&&g.text(d),c.transition(g,b.transitionDuration()).attr("transform","translate("+f+","+h+"),rotate("+e+")")},b.renderYAxisAt=function(a,d,e){var f=b.g().selectAll("g."+a);f.empty()&&(f=b.g().append("g").attr("class","axis "+a).attr("transform","translate("+e+","+b.margins().top+")")),c.transition(f,b.transitionDuration()).attr("transform","translate("+e+","+b.margins().top+")").call(d)},b.renderYAxis=function(){var a=ea?b.width()-b.margins().right:b._yAxisX();b.renderYAxisAt("y",N,a);var c=ea?b.width()-Q:Q,d=ea?90:-90;b.renderYAxisLabel("y",b.yAxisLabel(),d,c)},b._renderHorizontalGridLinesForAxis=function(a,d,e){var f=a.selectAll("g."+q);if(T){var g=e.tickValues()?e.tickValues():d.ticks(e.ticks()[0]);f.empty()&&(f=a.insert("g",":first-child").attr("class",p+" "+q).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var h=f.selectAll("line").data(g),i=h.enter().append("line").attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}).attr("opacity",0);c.transition(i,b.transitionDuration()).attr("opacity",1),c.transition(h,b.transitionDuration()).attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}),h.exit().remove()}else f.selectAll("line").remove()},b._yAxisX=function(){return b.useRightYAxis()?b.width()-b.margins().right:b.margins().left},b.yAxisLabel=function(a,c){return arguments.length?(D=a,b.margins().left-=Q,Q=void 0===c?u:c,b.margins().left+=Q,b):D},b.y=function(a){return arguments.length?(C=a,b.rescale(),b):C},b.yAxis=function(a){return arguments.length?(N=a,b):N},b.elasticY=function(a){return arguments.length?(P=a,b):P},b.renderHorizontalGridLines=function(a){return arguments.length?(T=a,b):T},b.renderVerticalGridLines=function(a){return arguments.length?(U=a,b):U},b.xAxisMin=function(){var d=a.min(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.subtract(d,K)},b.xAxisMax=function(){var d=a.max(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.add(d,K)},b.yAxisMin=function(){var d=a.min(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.subtract(d,O)},b.yAxisMax=function(){var d=a.max(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.add(d,O)},b.yAxisPadding=function(a){return arguments.length?(O=a,b):O},b.yAxisHeight=function(){return b.effectiveHeight()},b.round=function(a){return arguments.length?(E=a,b):E},b._rangeBandPadding=function(a){return arguments.length?(da=a,b):da},b._outerRangeBandPadding=function(a){return arguments.length?(ca=a,b):ca},c.override(b,"filter",function(a){return arguments.length?(b._filter(a),a?b.brush().extent(a):b.brush().clear(),b):b._filter()}),b.brush=function(a){return arguments.length?(R=a,b):R},b.renderBrush=function(a){if(S){R.on("brush",b._brushing),R.on("brushstart",b._disableMouseZoom),R.on("brushend",l);var c=a.append("g").attr("class","brush").attr("transform","translate("+b.margins().left+","+b.margins().top+")").call(R.x(b.x()));b.setBrushY(c,!1),b.setHandlePaths(c),b.hasFilter()&&b.redrawBrush(a,!1)}},b.setHandlePaths=function(a){a.selectAll(".resize").append("path").attr("d",b.resizeHandlePath)},b.setBrushY=function(a){a.selectAll(".brush rect").attr("height",h()),a.selectAll(".resize path").attr("d",b.resizeHandlePath)},b.extendBrush=function(){var a=R.extent();return b.round()&&(a[0]=a.map(b.round())[0],a[1]=a.map(b.round())[1],w.select(".brush").call(R.extent(a))),a},b.brushIsEmpty=function(a){return R.empty()||!a||a[1]<=a[0]},b._brushing=function(){var a=b.extendBrush();if(b.redrawBrush(w,!1),b.brushIsEmpty(a))c.events.trigger(function(){b.filter(null),b.redrawGroup()},c.constants.EVENT_DELAY);else{var d=c.filters.RangedFilter(a[0],a[1]);c.events.trigger(function(){b.replaceFilter(d),b.redrawGroup()},c.constants.EVENT_DELAY)}},b.redrawBrush=function(a,d){if(S){b.filter()&&b.brush().empty()&&b.brush().extent(b.filter());var e=c.optionalTransition(d,b.transitionDuration())(a.select("g.brush"));b.setBrushY(e),e.call(b.brush().x(b.x()).extent(b.brush().extent()))}b.fadeDeselectedArea()},b.fadeDeselectedArea=function(){},b.resizeHandlePath=function(a){var b=+("e"===a),c=b?1:-1,d=h()/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)},b.clipPadding=function(a){return arguments.length?(ba=a,b):ba},b._preprocessData=function(){},b._doRender=function(){return b.resetSvg(),b._preprocessData(),b._generateG(),j(),k(!0),l(),b},b._doRedraw=function(){return b._preprocessData(),k(!1),j(),b},b._enableMouseZoom=function(){_=!0,Z.x(b.x()).scaleExtent(X).size([b.width(),b.height()]).duration(b.transitionDuration()),b.root().call(Z)},b._disableMouseZoom=function(){b.root().call($)},b.focus=function(a){b.x().domain(o(a)?a:z),Z.x(b.x()),d()},b.refocused=function(){return V},b.focusChart=function(a){return arguments.length?(H=a,b.on("filtered",function(a){a.filter()?n(a.filter(),H.filter())||c.events.trigger(function(){H.focus(a.filter())}):c.events.trigger(function(){H.x().domain(H.xOriginalDomain())})}),b):H},b.brushOn=function(a){return arguments.length?(S=a,b):S},b},c.stackMixin=function(b){function d(a,c){var d=a.accessor||b.valueAccessor();return a.name=String(a.name||c),a.values=a.group.all().map(function(c,e){return{x:b.keyAccessor()(c,e),y:a.hidden?null:d(c,e),data:c,layer:a.name,hidden:a.hidden}}),a.values=a.values.filter(e()),a.values}function e(){if(!b.x())return a.functor(!0);var c=b.x().domain();return b.isOrdinal()?function(){return!0}:b.elasticX()?function(){return!0}:function(a){return a.x>=c[0]&&a.x<=c[c.length-1]}}function f(a){var b=j.map(c.pluck("name")).indexOf(a);return j[b]}function g(){var a=b.data().map(function(a){return a.values});return Array.prototype.concat.apply([],a)}function h(a){return!a.hidden}var i=a.layout.stack().values(d),j=[],k={},l=!1;return b.stack=function(a,c,d){if(!arguments.length)return j;arguments.length<=2&&(d=c);var e={group:a};return"string"==typeof c&&(e.name=c),"function"==typeof d&&(e.accessor=d),j.push(e),b},c.override(b,"group",function(a,c,d){return arguments.length?(j=[],k={},b.stack(a,c),d&&b.valueAccessor(d),b._group(a,c)):b._group()}),b.hidableStacks=function(a){return arguments.length?(l=a,b):l},b.hideStack=function(a){var c=f(a);return c&&(c.hidden=!0),b},b.showStack=function(a){var c=f(a);return c&&(c.hidden=!1),b},b.getValueAccessorByIndex=function(a){return j[a].accessor||b.valueAccessor()},b.yAxisMin=function(){var d=a.min(g(),function(a){return a.y+a.y0d?c.concat([{others:k,key:e,value:g-d}]):c};return b.cappedKeyAccessor=function(a,c){return a.others?a.key:b.keyAccessor()(a,c)},b.cappedValueAccessor=function(a,c){return a.others?a.value:b.valueAccessor()(a,c)},b.data(function(a){if(d===1/0)return b._computeOrderedGroups(a.all());var c=a.top(d);return c=b._computeOrderedGroups(c),f?f(c):c}),b.cap=function(a){return arguments.length?(d=a,b):d},b.othersLabel=function(a){return arguments.length?(e=a,b):e},b.othersGrouper=function(a){return arguments.length?(f=a,b):f},c.override(b,"onClick",function(a){a.others&&b.filter([a.others]),b._onClick(a)}),b},c.bubbleMixin=function(b){var d=.3,e=10;b.BUBBLE_NODE_CLASS="node",b.BUBBLE_CLASS="bubble",b.MIN_RADIUS=10,b=c.colorMixin(b),b.renderLabel(!0),b.data(function(a){return a.top(1/0)});var f=a.scale.linear().domain([0,100]),g=function(a){return a.r};b.r=function(a){return arguments.length?(f=a,b):f},b.radiusValueAccessor=function(a){return arguments.length?(g=a,b):g},b.rMin=function(){var c=a.min(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.rMax=function(){var c=a.max(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.bubbleR=function(a){var c=b.radiusValueAccessor()(a),d=b.r()(c);return(isNaN(d)||0>=c)&&(d=0),d};var h=function(a){return b.label()(a)},i=function(a){return b.bubbleR(a)>e?1:0};b._doRenderLabel=function(a){if(b.renderLabel()){var d=a.select("text");d.empty()&&(d=a.append("text").attr("text-anchor","middle").attr("dy",".3em").on("click",b.onClick)),d.attr("opacity",0).text(h),c.transition(d,b.transitionDuration()).attr("opacity",i)}},b.doUpdateLabels=function(a){if(b.renderLabel()){var d=a.selectAll("text").text(h);c.transition(d,b.transitionDuration()).attr("opacity",i)}};var j=function(a){return b.title()(a)};return b._doRenderTitles=function(a){if(b.renderTitle()){var c=a.select("title");c.empty()&&a.append("title").text(j)}},b.doUpdateTitles=function(a){b.renderTitle()&&a.selectAll("title").text(j)},b.minRadiusWithLabel=function(a){return arguments.length?(e=a,b):e},b.maxBubbleRelativeSize=function(a){return arguments.length?(d=a,b):d},b.fadeDeselectedArea=function(){b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(b.hasFilter()?function(a){b.isSelectedNode(a)?b.highlightSelected(this):b.fadeDeselected(this)}:function(){b.resetHighlight(this)})},b.isSelectedNode=function(a){return b.hasFilter(a.key)},b.onClick=function(a){var d=a.key;c.events.trigger(function(){b.filter(d),b.redrawGroup()})},b},c.pieChart=function(b,d){function e(){D=E?E:a.min([Q.width(),Q.height()])/2;var b,d=r(),e=t();if(a.sum(Q.data(),Q.valueAccessor())?(b=e(Q.data()),F.classed(L,!1)):(b=e([{key:M,value:1,others:[M]}]),F.classed(L,!0)),F){var g=F.selectAll("g."+K).data(b);f(g,d,b),l(b,d),p(g),q(),c.transition(F,Q.transitionDuration()).attr("transform","translate("+Q.cx()+","+Q.cy()+")")}}function f(a,b,c){var d=g(a);h(d,b),i(d),k(c,b)}function g(a){var b=a.enter().append("g").attr("class",function(a,b){return K+" _"+b});return b}function h(a,b){var d=a.append("path").attr("fill",y).on("click",z).attr("d",function(a,c){return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)})}function i(a){Q.renderTitle()&&a.append("title").text(function(a){return Q.title()(a.data)})}function j(a,b){c.transition(a,Q.transitionDuration()).attr("transform",function(a){return B(a,b)}).attr("text-anchor","middle").text(function(a){var b=a.data;return!v(b)&&!u(a)||s(a)?Q.label()(a.data):""})}function k(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);c.exit().remove();var d=c.enter().append("text").attr("class",function(a,b){var c=K+" _"+b;return I&&(c+=" external"),c}).on("click",z);j(d,b)}}function l(a,b){m(a,b),n(a,b),o(a)}function m(a,b){var d=F.selectAll("g."+K).data(a).select("path").attr("d",function(a,c){return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)}).attr("fill",y)}function n(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);j(c,b)}}function o(a){Q.renderTitle()&&F.selectAll("g."+K).data(a).select("title").text(function(a){ -return Q.title()(a.data)})}function p(a){a.exit().remove()}function q(){Q.selectAll("g."+K).each(Q.hasFilter()?function(a){s(a)?Q.highlightSelected(this):Q.fadeDeselected(this)}:function(){Q.resetHighlight(this)})}function r(){return a.svg.arc().outerRadius(D-O).innerRadius(N)}function s(a){return Q.hasFilter(Q.cappedKeyAccessor(a.data))}function t(){return a.layout.pie().sort(null).value(Q.cappedValueAccessor)}function u(a){var b=a.endAngle-a.startAngle;return isNaN(b)||P>b}function v(a){return 0===Q.cappedValueAccessor(a)}function w(b){b.innerRadius=N;var c=this._current;x(c)&&(c={startAngle:0,endAngle:0});var d=a.interpolate(c,b);return this._current=d(0),function(a){return A(d(a),0,r())}}function x(a){return!a||isNaN(a.startAngle)||isNaN(a.endAngle)}function y(a,b){return Q.getColor(a.data,b)}function z(a,b){F.attr("class")!==L&&Q.onClick(a.data,b)}function A(a,b,c){var d=c(a,b);return d.indexOf("NaN")>=0&&(d="M0,0"),d}function B(b,c){var d;return d=I?a.svg.arc().outerRadius(D-O+I).innerRadius(D-O+I).centroid(b):c.centroid(b),isNaN(d[0])||isNaN(d[1])?"translate(0,0)":"translate("+d+")"}function C(b,c){Q.selectAll("g.pie-slice").each(function(d){b.name===d.data.key&&a.select(this).classed("highlight",c)})}var D,E,F,G,H,I,J=.5,K="pie-slice",L="empty-chart",M="empty",N=0,O=0,P=J,Q=c.capMixin(c.colorMixin(c.baseMixin({})));return Q.colorAccessor(Q.cappedKeyAccessor),Q.title(function(a){return Q.cappedKeyAccessor(a)+": "+Q.cappedValueAccessor(a)}),Q.slicesCap=Q.cap,Q.label(Q.cappedKeyAccessor),Q.renderLabel(!0),Q.transitionDuration(350),Q._doRender=function(){return Q.resetSvg(),F=Q.svg().append("g").attr("transform","translate("+Q.cx()+","+Q.cy()+")"),e(),Q},Q.externalRadiusPadding=function(a){return arguments.length?(O=a,Q):O},Q.innerRadius=function(a){return arguments.length?(N=a,Q):N},Q.radius=function(a){return arguments.length?(E=a,Q):E},Q.cx=function(a){return arguments.length?(G=a,Q):G||Q.width()/2},Q.cy=function(a){return arguments.length?(H=a,Q):H||Q.height()/2},Q._doRedraw=function(){return e(),Q},Q.minAngleForLabel=function(a){return arguments.length?(P=a,Q):P},Q.emptyTitle=function(a){return 0===arguments.length?M:(M=a,Q)},Q.externalLabels=function(a){return 0===arguments.length?I:(I=a?a:void 0,Q)},Q.legendables=function(){return Q.data().map(function(a,b){var c={name:a.key,data:a.value,others:a.others,chart:Q};return c.color=Q.getColor(a,b),c})},Q.legendHighlight=function(a){C(a,!0)},Q.legendReset=function(a){C(a,!1)},Q.legendToggle=function(a){Q.onClick({key:a.name,others:a.others})},Q.anchor(b,d)},c.barChart=function(b,d){function e(a){return c.utils.safeNumber(Math.abs(l.y()(a.y+a.y0)-l.y()(a.y0)))}function f(a,b,d){var f=a.selectAll("rect.bar").data(d.values,c.pluck("x")),g=f.enter().append("rect").attr("class","bar").attr("fill",c.pluck("data",l.getColor)).attr("y",l.yAxisHeight()).attr("height",0);l.renderTitle()&&g.append("title").text(c.pluck("data",l.title(d.name))),l.isOrdinal()&&f.on("click",l.onClick),c.transition(f,l.transitionDuration()).attr("x",function(a){var b=l.x()(a.x);return n&&(b-=i/2),l.isOrdinal()&&void 0!==m&&(b+=m/2),c.utils.safeNumber(b)}).attr("y",function(a){var b=l.y()(a.y+a.y0);return a.y<0&&(b-=e(a)),c.utils.safeNumber(b)}).attr("width",i).attr("height",function(a){return e(a)}).attr("fill",c.pluck("data",l.getColor)).select("title").text(c.pluck("data",l.title(d.name))),c.transition(f.exit(),l.transitionDuration()).attr("height",0).remove()}function g(){if(void 0===i){var a=l.xUnitCount();i=Math.floor(l.isOrdinal()&&void 0===m?l.x().rangeBand():m?(l.xAxisLength()-(a-1)*m)/a:l.xAxisLength()/(1+l.barPadding())/a),(i===1/0||isNaN(i)||j>i)&&(i=j)}}function h(b,c){return function(){var d=a.select(this),e=d.attr("fill")===b;return c?!e:e}}var i,j=1,k=2,l=c.stackMixin(c.coordinateGridMixin({})),m=k,n=!1,o=!1;return c.override(l,"rescale",function(){return l._rescale(),i=void 0,l}),c.override(l,"render",function(){return l.round()&&n&&!o&&c.logger.warn("By default, brush rounding is disabled if bars are centered. See dc.js bar chart API documentation for details."),l._render()}),l.plotData=function(){var b=l.chartBodyG().selectAll("g.stack").data(l.data());g(),b.enter().append("g").attr("class",function(a,b){return"stack _"+b}),b.each(function(b,c){var d=a.select(this);f(d,c,b)})},l.fadeDeselectedArea=function(){var a=l.chartBodyG().selectAll("rect.bar"),b=l.brush().extent();if(l.isOrdinal())l.hasFilter()?(a.classed(c.constants.SELECTED_CLASS,function(a){return l.hasFilter(a.x)}),a.classed(c.constants.DESELECTED_CLASS,function(a){return!l.hasFilter(a.x)})):(a.classed(c.constants.SELECTED_CLASS,!1),a.classed(c.constants.DESELECTED_CLASS,!1));else if(l.brushIsEmpty(b))a.classed(c.constants.DESELECTED_CLASS,!1);else{var d=b[0],e=b[1];a.classed(c.constants.DESELECTED_CLASS,function(a){return a.x=e})}},l.centerBar=function(a){return arguments.length?(n=a,l):n},c.override(l,"onClick",function(a){l._onClick(a.data)}),l.barPadding=function(a){return arguments.length?(l._rangeBandPadding(a),m=void 0,l):l._rangeBandPadding()},l._useOuterPadding=function(){return void 0===m},l.outerPadding=l._outerRangeBandPadding,l.gap=function(a){return arguments.length?(m=a,l):m},l.extendBrush=function(){var a=l.brush().extent();return!l.round()||n&&!o||(a[0]=a.map(l.round())[0],a[1]=a.map(l.round())[1],l.chartBodyG().select(".brush").call(l.brush().extent(a))),a},l.alwaysUseRounding=function(a){return arguments.length?(o=a,l):o},l.legendHighlight=function(a){l.isLegendableHidden(a)||l.g().selectAll("rect.bar").classed("highlight",h(a.color)).classed("fadeout",h(a.color,!0))},l.legendReset=function(){l.g().selectAll("rect.bar").classed("highlight",!1).classed("fadeout",!1)},c.override(l,"xAxisMax",function(){var a=this._xAxisMax();if("resolution"in l.xUnits()){var b=l.xUnits().resolution;a+=b}return a}),l.anchor(b,d)},c.lineChart=function(b,d){function e(a,b){return z.getColor.call(a,a.values,b)}function f(b,d){var f=a.svg.line().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).interpolate(F).tension(G);r&&f.defined(r);var g=b.append("path").attr("class","line").attr("stroke",e);s&&g.attr("stroke-dasharray",s),c.transition(d.select("path.line"),z.transitionDuration()).attr("stroke",e).attr("d",function(a){return h(f(a.values))})}function g(b,d){if(A){var f=a.svg.area().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).y0(function(a){return z.y()(a.y0)}).interpolate(F).tension(G);r&&f.defined(r),b.append("path").attr("class","area").attr("fill",e).attr("d",function(a){return h(f(a.values))}),c.transition(d.select("path.area"),z.transitionDuration()).attr("fill",e).attr("d",function(a){return h(f(a.values))})}}function h(a){return!a||a.indexOf("NaN")>=0?"M0,0":a}function i(b,d){if(!z.brushOn()&&z.xyTipsOn()){var e=u+"-list",f=b.select("g."+e);f.empty()&&(f=b.append("g").attr("class",e)),d.each(function(b,d){var e=b.values;r&&(e=e.filter(r));var g=f.select("g."+u+"._"+d);g.empty()&&(g=f.append("g").attr("class",u+" _"+d)),j(g);var h=g.selectAll("circle."+v).data(e,c.pluck("x"));h.enter().append("circle").attr("class",v).attr("r",m()).style("fill-opacity",D).style("stroke-opacity",E).on("mousemove",function(){var b=a.select(this);k(b),l(b,g)}).on("mouseout",function(){var b=a.select(this);n(b),o(g)}),h.attr("cx",function(a){return c.utils.safeNumber(z.x()(a.x))}).attr("cy",function(a){return c.utils.safeNumber(z.y()(a.y+a.y0))}).attr("fill",z.getColor).call(p,b),h.exit().remove()})}}function j(a){var b=a.select("path."+w).empty()?a.append("path").attr("class",w):a.select("path."+w);b.style("display","none").attr("stroke-dasharray","5,5");var c=a.select("path."+x).empty()?a.append("path").attr("class",x):a.select("path."+x);c.style("display","none").attr("stroke-dasharray","5,5")}function k(a){return a.style("fill-opacity",.8),a.style("stroke-opacity",.8),a.attr("r",B),a}function l(a,b){var c=a.attr("cx"),d=a.attr("cy"),e=z._yAxisX()-z.margins().left,f="M"+e+" "+d+"L"+c+" "+d,g="M"+c+" "+z.yAxisHeight()+"L"+c+" "+d;b.select("path."+w).style("display","").attr("d",f),b.select("path."+x).style("display","").attr("d",g)}function m(){return C||B}function n(a){a.style("fill-opacity",D).style("stroke-opacity",E).attr("r",m())}function o(a){a.select("path."+w).style("display","none"),a.select("path."+x).style("display","none")}function p(a,b){z.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(c.pluck("data",z.title(b.name))))}function q(b,c,d){return function(){var e=a.select(this),f=e.attr("stroke")===b&&e.attr("stroke-dasharray")===(c instanceof Array?c.join(","):null)||e.attr("fill")===b;return d?!f:f}}var r,s,t=5,u="dc-tooltip",v="dot",w="yRef",x="xRef",y=1e-6,z=c.stackMixin(c.coordinateGridMixin({})),A=!1,B=t,C=null,D=y,E=y,F="linear",G=.7,H=!0;return z.transitionDuration(500),z._rangeBandPadding(1),z.plotData=function(){var a=z.chartBodyG(),b=a.selectAll("g.stack-list");b.empty()&&(b=a.append("g").attr("class","stack-list"));var c=b.selectAll("g.stack").data(z.data()),d=c.enter().append("g").attr("class",function(a,b){return"stack _"+b});f(d,c),g(d,c),i(a,c)},z.interpolate=function(a){return arguments.length?(F=a,z):F},z.tension=function(a){return arguments.length?(G=a,z):G},z.defined=function(a){return arguments.length?(r=a,z):r},z.dashStyle=function(a){return arguments.length?(s=a,z):s},z.renderArea=function(a){return arguments.length?(A=a,z):A},z.xyTipsOn=function(a){return arguments.length?(H=a,z):H},z.dotRadius=function(a){return arguments.length?(B=a,z):B},z.renderDataPoints=function(a){return arguments.length?(a?(D=a.fillOpacity||.8,E=a.strokeOpacity||.8,C=a.radius||2):(D=y,E=y,C=null),z):{fillOpacity:D,strokeOpacity:E,radius:C}},z.legendHighlight=function(a){z.isLegendableHidden(a)||z.g().selectAll("path.line, path.area").classed("highlight",q(a.color,a.dashstyle)).classed("fadeout",q(a.color,a.dashstyle,!0))},z.legendReset=function(){z.g().selectAll("path.line, path.area").classed("highlight",!1).classed("fadeout",!1)},c.override(z,"legendables",function(){var a=z._legendables();return s?a.map(function(a){return a.dashstyle=s,a}):a}),z.anchor(b,d)},c.dataCount=function(b,d){var e=a.format(",d"),f=c.baseMixin({}),g={some:"",all:""};return f.html=function(a){return arguments.length?(a.all&&(g.all=a.all),a.some&&(g.some=a.some),f):g},f.formatNumber=function(a){return arguments.length?(e=a,f):e},f._doRender=function(){var a=f.dimension().size(),b=f.group().value(),c=e(a),d=e(b);return a===b&&""!==g.all?f.root().html(g.all.replace("%total-count",c).replace("%filter-count",d)):""!==g.some?f.root().html(g.some.replace("%total-count",c).replace("%filter-count",d)):(f.selectAll(".total-count").text(c),f.selectAll(".filter-count").text(d)),f},f._doRedraw=function(){return f._doRender()},f.anchor(b,d)},c.dataTable=function(b,d){function e(){var a=!0;if(o.forEach(function(b){a&="function"==typeof b}),!a){m.selectAll("th").remove();var b=m.root().selectAll("th").data(o),c=b.enter().append("th");c.attr("class",l).html(function(a){return m._doColumnHeaderFormat(a)})}var d=m.root().selectAll("tbody").data(f(),function(a){return m.keyAccessor()(a)}),e=d.enter().append("tbody");return r===!0&&e.append("tr").attr("class",k).append("td").attr("class",h).attr("colspan",o.length).html(function(a){return m.keyAccessor()(a)}),d.exit().remove(),e}function f(){var b;return b=q===a.ascending?m.dimension().bottom(n):m.dimension().top(n),a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}))}function g(a){var b=a.order().selectAll("tr."+i).data(function(a){return a.values}),c=b.enter().append("tr").attr("class",i);return o.forEach(function(a,b){c.append("td").attr("class",j+" _"+b).html(function(b){return m._doColumnValueFormat(a,b)})}),b.exit().remove(),b}var h="dc-table-label",i="dc-table-row",j="dc-table-column",k="dc-table-group",l="dc-table-head",m=c.baseMixin({}),n=25,o=[],p=function(a){return a},q=a.ascending,r=!0;return m._doRender=function(){return m.selectAll("tbody").remove(),g(e()),m},m._doColumnValueFormat=function(a,b){return"function"==typeof a?a(b):"string"==typeof a?b[a]:a.format(b)},m._doColumnHeaderFormat=function(a){return"function"==typeof a?m._doColumnHeaderFnToString(a):"string"==typeof a?m._doColumnHeaderCapitalize(a):String(a.label)},m._doColumnHeaderCapitalize=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},m._doColumnHeaderFnToString=function(a){var b=String(a),c=b.indexOf("return ");if(c>=0){var d=b.lastIndexOf(";");if(d>=0){b=b.substring(c+7,d);var e=b.indexOf("numberFormat");e>=0&&(b=b.replace("numberFormat",""))}}return b},m._doRedraw=function(){return m._doRender()},m.size=function(a){return arguments.length?(n=a,m):n},m.columns=function(a){return arguments.length?(o=a,m):o},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.showGroups=function(a){return arguments.length?(r=a,m):!0},m.anchor(b,d)},c.dataGrid=function(b,d){function e(){var a=m.root().selectAll("div."+l).data(f(),function(a){return m.keyAccessor()(a)}),b=a.enter().append("div").attr("class",l);return s&&b.html(function(a){return s(a)}),a.exit().remove(),b}function f(){var b=m.dimension().top(n);return a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}).slice(r,h))}function g(a){var b=a.order().selectAll("div."+j).data(function(a){return a.values});return b.enter().append("div").attr("class",j).html(function(a){return o(a)}),b.exit().remove(),b}var h,i="dc-grid-label",j="dc-grid-item",k="dc-grid-group",l="dc-grid-top",m=c.baseMixin({}),n=999,o=function(a){return"you need to provide an html() handling param: "+JSON.stringify(a)},p=function(a){return a},q=a.ascending,r=0,s=function(a){return"

    "+m.keyAccessor()(a)+"

    "};return m._doRender=function(){return m.selectAll("div."+l).remove(),g(e()),m},m._doRedraw=function(){return m._doRender()},m.beginSlice=function(a){return arguments.length?(r=a,m):r},m.endSlice=function(a){return arguments.length?(h=a,m):h},m.size=function(a){return arguments.length?(n=a,m):n},m.html=function(a){return arguments.length?(o=a,m):o},m.htmlGroup=function(a){return arguments.length?(s=a,m):s},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.anchor(b,d)},c.bubbleChart=function(a,b){function d(a){var b=a.enter().append("g");b.attr("class",i.BUBBLE_NODE_CLASS).attr("transform",k).append("circle").attr("class",function(a,b){return i.BUBBLE_CLASS+" _"+b}).on("click",i.onClick).attr("fill",i.getColor).attr("r",0),c.transition(a,i.transitionDuration()).selectAll("circle."+i.BUBBLE_CLASS).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i._doRenderLabel(b),i._doRenderTitles(b)}function e(a){c.transition(a,i.transitionDuration()).attr("transform",k).selectAll("circle."+i.BUBBLE_CLASS).attr("fill",i.getColor).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i.doUpdateLabels(a),i.doUpdateTitles(a)}function f(a){a.exit().remove()}function g(a){var b=i.x()(i.keyAccessor()(a));return isNaN(b)&&(b=0),b}function h(a){var b=i.y()(i.valueAccessor()(a));return isNaN(b)&&(b=0),b}var i=c.bubbleMixin(c.coordinateGridMixin({})),j=!1;i.transitionDuration(750);var k=function(a){return"translate("+g(a)+","+h(a)+")"};return i.elasticRadius=function(a){return arguments.length?(j=a,i):j},i.plotData=function(){j&&i.r().domain([i.rMin(),i.rMax()]),i.r().range([i.MIN_RADIUS,i.xAxisLength()*i.maxBubbleRelativeSize()]);var a=i.chartBodyG().selectAll("g."+i.BUBBLE_NODE_CLASS).data(i.data(),function(a){return a.key});d(a),e(a),f(a),i.fadeDeselectedArea()},i.renderBrush=function(){},i.redrawBrush=function(){i.fadeDeselectedArea()},i.anchor(a,b)},c.compositeChart=function(b,d){function e(){(void 0===u.rightY()||u.elasticY())&&(void 0===u.rightY()&&u.rightY(a.scale.linear()),u.rightY().domain([l(),o()]).rangeRound([u.yAxisHeight(),0])),u.rightY().range([u.yAxisHeight(),0]),u.rightYAxis(u.rightYAxis().scale(u.rightY())),u.rightYAxis().orient("right")}function f(){(void 0===u.y()||u.elasticY())&&(void 0===u.y()&&u.y(a.scale.linear()),u.y().domain([k(),n()]).rangeRound([u.yAxisHeight(),0])),u.y().range([u.yAxisHeight(),0]),u.yAxis(u.yAxis().scale(u.y())),u.yAxis().orient("left")}function g(a,b){a._generateG(u.g()),a.g().attr("class",s+" _"+b)}function h(){return v.filter(function(a){return!a.useRightYAxis()})}function i(){return v.filter(function(a){return a.useRightYAxis()})}function j(a){return a.map(function(a){return a.yAxisMin()})}function k(){return a.min(j(h()))}function l(){return a.min(j(i()))}function m(a){return a.map(function(a){return a.yAxisMax()})}function n(){return c.utils.add(a.max(m(h())),u.yAxisPadding())}function o(){return c.utils.add(a.max(m(i())),u.yAxisPadding())}function p(){return v.map(function(a){return a.xAxisMin()})}function q(){return v.map(function(a){return a.xAxisMax()})}var r,s="sub",t=12,u=c.coordinateGridMixin({}),v=[],w={},x=!1,y=!0,z=a.svg.axis(),A=0,B=t,C=!1;return u._mandatoryAttributes([]),u.transitionDuration(500),c.override(u,"_generateG",function(){for(var a=this.__generateG(),b=0;b0&&!C?u._renderHorizontalGridLinesForAxis(u.g(),u.y(),u.yAxis()):i().length>0&&u._renderHorizontalGridLinesForAxis(u.g(),r,z)},u.renderYAxis=function(){0!==h().length&&(u.renderYAxisAt("y",u.yAxis(),u.margins().left),u.renderYAxisLabel("y",u.yAxisLabel(),-90)),0!==i().length&&(u.renderYAxisAt("yr",u.rightYAxis(),u.width()-u.margins().right),u.renderYAxisLabel("yr",u.rightYAxisLabel(),90,u.width()-B))},u.plotData=function(){for(var a=0;a0&&(b[0]=0),t=a.scale.linear().domain(b).range([0,G.effectiveWidth()])}H.scale(t)}function f(){var a=s.select("g.axis");e(),a.empty()&&(a=s.append("g").attr("class","axis").attr("transform","translate(0, "+G.effectiveHeight()+")")),c.transition(a,G.transitionDuration()).call(H)}function g(){s.selectAll("g.tick").select("line.grid-line").remove(),s.selectAll("g.tick").append("line").attr("class","grid-line").attr("x1",0).attr("y1",0).attr("x2",0).attr("y2",function(){return-G.effectiveHeight()})}function h(){v=G.data(),f(),g();var a=s.selectAll("g."+D).data(v);i(a),j(a),l(a)}function i(a){var b=a.enter().append("g").attr("class",function(a,b){return D+" _"+b});b.append("rect").attr("width",0),n(b),o(a)}function j(a){a.exit().remove()}function k(){var a=t(0);return a===-(1/0)||a!==a?t(1):a}function l(a){var b,d=v.length;b=C?C:(G.effectiveHeight()-(d+1)*B)/d,y||(x=b/2);var e=a.attr("transform",function(a,c){return"translate(0,"+((c+1)*B+c*b)+")"}).select("rect").attr("height",b).attr("fill",G.getColor).on("click",p).classed("deselected",function(a){return G.hasFilter()?!r(a):!1}).classed("selected",function(a){return G.hasFilter()?r(a):!1});c.transition(e,G.transitionDuration()).attr("width",function(a){return Math.abs(k()-t(G.valueAccessor()(a)))}).attr("transform",q),m(a),o(a)}function m(a){G.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(G.title()))}function n(a){G.renderLabel()&&a.append("text").on("click",p),G.renderTitleLabel()&&a.append("text").attr("class",E).on("click",p)}function o(a){if(G.renderLabel()){var b=a.select("text").attr("x",w).attr("y",x).attr("dy",z).on("click",p).attr("class",function(a,b){return D+" _"+b}).text(function(a){return G.label()(a)});c.transition(b,G.transitionDuration()).attr("transform",q)}if(G.renderTitleLabel()){var d=a.select("."+E).attr("x",G.effectiveWidth()-A).attr("y",x).attr("text-anchor","end").on("click",p).attr("class",function(a,b){return E+" _"+b}).text(function(a){return G.title()(a)});c.transition(d,G.transitionDuration()).attr("transform",q)}}function p(a){G.onClick(a)}function q(a){var b=t(G.cappedValueAccessor(a)),c=k(),d=b>c?c:b;return"translate("+d+",0)"}function r(a){return G.hasFilter(G.cappedKeyAccessor(a))}var s,t,u,v,w=10,x=15,y=!1,z="0.35em",A=2,B=5,C=!1,D="row",E="titlerow",F=!1,G=c.capMixin(c.marginMixin(c.colorMixin(c.baseMixin({})))),H=a.svg.axis().orient("bottom");return G.rowsCap=G.cap,G._doRender=function(){return G.resetSvg(),s=G.svg().append("g").attr("transform","translate("+G.margins().left+","+G.margins().top+")"),h(),G},G.title(function(a){return G.cappedKeyAccessor(a)+": "+G.cappedValueAccessor(a)}),G.label(G.cappedKeyAccessor),G.x=function(a){return arguments.length?(t=a,G):t},G.renderTitleLabel=function(a){return arguments.length?(F=a,G):F},G._doRedraw=function(){return h(),G},G.xAxis=function(){return H},G.fixedBarHeight=function(a){return arguments.length?(C=a,G):C},G.gap=function(a){return arguments.length?(B=a,G):B},G.elasticX=function(a){return arguments.length?(u=a,G):u},G.labelOffsetX=function(a){return arguments.length?(w=a,G):w},G.labelOffsetY=function(a){return arguments.length?(x=a,y=!0,G):x},G.titleLabelOffsetX=function(a){return arguments.length?(A=a,G):A},G.anchor(b,d)},c.legend=function(){function a(){return j+i}var b,d,e=2,f={},g=0,h=0,i=12,j=5,k=!1,l=560,m=70,n=!1;return f.parent=function(a){return arguments.length?(b=a,f):b},f.render=function(){b.svg().select("g.dc-legend").remove(),d=b.svg().append("g").attr("class","dc-legend").attr("transform","translate("+g+","+h+")");var f=b.legendables(),o=d.selectAll("g.dc-legend-item").data(f).enter().append("g").attr("class","dc-legend-item").on("mouseover",function(a){b.legendHighlight(a)}).on("mouseout",function(a){b.legendReset(a)}).on("click",function(a){a.chart.legendToggle(a)});d.selectAll("g.dc-legend-item").classed("fadeout",function(a){return a.chart.isLegendableHidden(a)}),f.some(c.pluck("dashstyle"))?o.append("line").attr("x1",0).attr("y1",i/2).attr("x2",i).attr("y2",i/2).attr("stroke-width",2).attr("stroke-dasharray",c.pluck("dashstyle")).attr("stroke",c.pluck("color")):o.append("rect").attr("width",i).attr("height",i).attr("fill",function(a){return a?a.color:"blue"}),o.append("text").text(c.pluck("name")).attr("x",i+e).attr("y",function(){return i/2+(this.clientHeight?this.clientHeight:13)/2-2});var p=0,q=0;o.attr("transform",function(b,c){if(k){var d="translate("+p+","+q*a()+")",e=n===!0?this.getBBox().width+j:m;return p+e>=l?(++q,p=0):p+=e,d}return"translate(0,"+c*a()+")"})},f.x=function(a){return arguments.length?(g=a,f):g},f.y=function(a){return arguments.length?(h=a,f):h},f.gap=function(a){return arguments.length?(j=a,f):j},f.itemHeight=function(a){return arguments.length?(i=a,f):i},f.horizontal=function(a){return arguments.length?(k=a,f):k},f.legendWidth=function(a){return arguments.length?(l=a,f):l},f.itemWidth=function(a){return arguments.length?(m=a,f):m},f.autoItemWidth=function(a){return arguments.length?(n=a,f):n},f},c.scatterPlot=function(b,d){function e(b,d){var e=g.selectAll(".chart-body path.symbol").filter(function(){return b(a.select(this))}),f=h.size();h.size(Math.pow(d,2)),c.transition(e,g.transitionDuration()).attr("d",h),h.size(f)}function f(a){var b=g.selectAll(".chart-body path.symbol").each(function(b){this.filtered=a&&a.isFiltered(b.key)});c.transition(b,g.transitionDuration()).attr("d",h)}var g=c.coordinateGridMixin({}),h=a.svg.symbol(),i=function(a){return a.value},j=g.keyAccessor();g.keyAccessor(function(a){return j(a)[0]}),g.valueAccessor(function(a){return j(a)[1]}),g.colorAccessor(function(){return g._groupName});var k=function(a){return"translate("+g.x()(g.keyAccessor()(a))+","+g.y()(g.valueAccessor()(a))+")"},l=3,m=5,n=0;return h.size(function(a){return i(a)?this.filtered?Math.pow(m,2):Math.pow(l,2):n}),c.override(g,"_filter",function(a){return arguments.length?g.__filter(c.filters.RangedTwoDimensionalFilter(a)):g.__filter()}),g.plotData=function(){var a=g.chartBodyG().selectAll("path.symbol").data(g.data());a.enter().append("path").attr("class","symbol").attr("opacity",0).attr("fill",g.getColor).attr("transform",k),c.transition(a,g.transitionDuration()).attr("opacity",function(a){return i(a)?1:0}).attr("fill",g.getColor).attr("transform",k).attr("d",h),c.transition(a.exit(),g.transitionDuration()).attr("opacity",0).remove()},g.existenceAccessor=function(a){return arguments.length?(i=a,this):i},g.symbol=function(a){return arguments.length?(h.type(a),g):h.type()},g.symbolSize=function(a){return arguments.length?(l=a,g):l},g.highlightedSize=function(a){return arguments.length?(m=a,g):m},g.hiddenSize=function(a){return arguments.length?(n=a,g):n},g.legendables=function(){return[{chart:g,name:g._groupName,color:g.getColor()}]},g.legendHighlight=function(b){e(function(a){return a.attr("fill")===b.color},m),g.selectAll(".chart-body path.symbol").filter(function(){ -return a.select(this).attr("fill")!==b.color}).classed("fadeout",!0)},g.legendReset=function(b){e(function(a){return a.attr("fill")===b.color},l),g.selectAll(".chart-body path.symbol").filter(function(){return a.select(this).attr("fill")!==b.color}).classed("fadeout",!1)},g.setHandlePaths=function(){},g.extendBrush=function(){var a=g.brush().extent();return g.round()&&(a[0]=a[0].map(g.round()),a[1]=a[1].map(g.round()),g.g().select(".brush").call(g.brush().extent(a))),a},g.brushIsEmpty=function(a){return g.brush().empty()||!a||a[0][0]>=a[1][0]||a[0][1]>=a[1][1]},g._brushing=function(){var a=g.extendBrush();if(g.redrawBrush(g.g()),g.brushIsEmpty(a))c.events.trigger(function(){g.filter(null),g.redrawGroup()}),f(!1);else{var b=c.filters.RangedTwoDimensionalFilter(a);c.events.trigger(function(){g.filter(null),g.filter(b),g.redrawGroup()},c.constants.EVENT_DELAY),f(b)}},g.setBrushY=function(a){a.call(g.brush().y(g.y()))},g.anchor(b,d)},c.numberDisplay=function(b,d){var e="number-display",f=a.format(".2s"),g=c.baseMixin({}),h={one:"",some:"",none:""};return g._mandatoryAttributes(["group"]),g.html=function(a){return arguments.length?(a.none?h.none=a.none:a.one?h.none=a.one:a.some&&(h.none=a.some),a.one?h.one=a.one:a.some&&(h.one=a.some),a.some?h.some=a.some:a.one&&(h.some=a.one),g):h},g.value=function(){return g.data()},g.data(function(a){var b=a.value?a.value():a.top(1)[0];return g.valueAccessor()(b)}),g.transitionDuration(250),g._doRender=function(){var b=g.value(),c=g.selectAll("."+e);c.empty()&&(c=c.data([0]).enter().append("span").attr("class",e)),c.transition().duration(g.transitionDuration()).ease("quad-out-in").tween("text",function(){var c=a.interpolateNumber(this.lastValue||0,b);return this.lastValue=b,function(a){var d=null,e=g.formatNumber()(c(a));0===b&&""!==h.none?d=h.none:1===b&&""!==h.one?d=h.one:""!==h.some&&(d=h.some),this.innerHTML=d?d.replace("%number",e):e}})},g._doRedraw=function(){return g._doRender()},g.formatNumber=function(a){return arguments.length?(f=a,g):f},g.anchor(b,d)},c.heatMap=function(b,d){function e(a,b){var d=p.selectAll(".box-group").filter(function(c){return c.key[a]===b}),e=d.filter(function(a){return!p.hasFilter(a.key)});c.events.trigger(function(){e.empty()?d.each(function(a){p.filter(a.key)}):e.each(function(a){p.filter(a.key)}),p.redrawGroup()})}var f,g,h,i=6.75,j=a.ascending,k=a.ascending,l=a.scale.ordinal(),m=a.scale.ordinal(),n=i,o=i,p=c.colorMixin(c.marginMixin(c.baseMixin({})));p._mandatoryAttributes(["group"]),p.title(p.colorAccessor());var q=function(a){return a},r=function(a){return a};p.colsLabel=function(a){return arguments.length?(q=a,p):q},p.rowsLabel=function(a){return arguments.length?(r=a,p):r};var s=function(a){e(0,a)},t=function(a){e(1,a)},u=function(a){var b=a.key;c.events.trigger(function(){p.filter(b),p.redrawGroup()})};return c.override(p,"filter",function(a){return arguments.length?p._filter(c.filters.TwoDimensionalFilter(a)):p._filter()}),p.rows=function(a){return arguments.length?(h=a,p):h},p.rowOrdering=function(a){return arguments.length?(k=a,p):k},p.cols=function(a){return arguments.length?(g=a,p):g},p.colOrdering=function(a){return arguments.length?(j=a,p):j},p._doRender=function(){return p.resetSvg(),f=p.svg().append("g").attr("class","heatmap").attr("transform","translate("+p.margins().left+","+p.margins().top+")"),p._doRedraw()},p._doRedraw=function(){var a=p.data(),b=p.rows()||a.map(p.valueAccessor()),d=p.cols()||a.map(p.keyAccessor());k&&(b=b.sort(k)),j&&(d=d.sort(j)),b=m.domain(b),d=l.domain(d);var e=b.domain().length,g=d.domain().length,h=Math.floor(p.effectiveWidth()/g),i=Math.floor(p.effectiveHeight()/e);d.rangeRoundBands([0,p.effectiveWidth()]),b.rangeRoundBands([p.effectiveHeight(),0]);var q=f.selectAll("g.box-group").data(p.data(),function(a,b){return p.keyAccessor()(a,b)+"\x00"+p.valueAccessor()(a,b)}),r=q.enter().append("g").attr("class","box-group");r.append("rect").attr("class","heat-box").attr("fill","white").on("click",p.boxOnClick()),p.renderTitle()&&(r.append("title"),q.selectAll("title").text(p.title())),c.transition(q.selectAll("rect"),p.transitionDuration()).attr("x",function(a,b){return d(p.keyAccessor()(a,b))}).attr("y",function(a,c){return b(p.valueAccessor()(a,c))}).attr("rx",n).attr("ry",o).attr("fill",p.getColor).attr("width",h).attr("height",i),q.exit().remove();var s=f.selectAll("g.cols");s.empty()&&(s=f.append("g").attr("class","cols axis"));var t=s.selectAll("text").data(d.domain());t.enter().append("text").attr("x",function(a){return d(a)+h/2}).style("text-anchor","middle").attr("y",p.effectiveHeight()).attr("dy",12).on("click",p.xAxisOnClick()).text(p.colsLabel()),c.transition(t,p.transitionDuration()).text(p.colsLabel()).attr("x",function(a){return d(a)+h/2}),t.exit().remove();var u=f.selectAll("g.rows");u.empty()&&(u=f.append("g").attr("class","rows axis"));var v=u.selectAll("text").data(b.domain());return v.enter().append("text").attr("dy",6).style("text-anchor","end").attr("x",0).attr("dx",-2).on("click",p.yAxisOnClick()).text(p.rowsLabel()),c.transition(v,p.transitionDuration()).text(p.rowsLabel()).attr("y",function(a){return b(a)+i/2}),v.exit().remove(),p.selectAll("g.box-group").each(p.hasFilter()?function(a){p.isSelectedNode(a)?p.highlightSelected(this):p.fadeDeselected(this)}:function(){p.resetHighlight(this)}),p},p.boxOnClick=function(a){return arguments.length?(u=a,p):u},p.xAxisOnClick=function(a){return arguments.length?(s=a,p):s},p.yAxisOnClick=function(a){return arguments.length?(t=a,p):t},p.xBorderRadius=function(a){return arguments.length?(n=a,p):n},p.yBorderRadius=function(a){return arguments.length?(o=a,p):o},p.isSelectedNode=function(a){return p.hasFilter(a.key)},p.anchor(b,d)},function(){function b(a){return[0,a.length-1]}function c(b){return[a.quantile(b,.25),a.quantile(b,.5),a.quantile(b,.75)]}a.box=function(){function d(b){b.each(function(b,c){b=b.map(i).sort(a.ascending);var d=a.select(this),m=b.length,n=b[0],o=b[m-1],p=b.quartiles=k(b),q=j&&j.call(this,b,c),r=q&&q.map(function(a){return b[a]}),s=q?a.range(0,q[0]).concat(a.range(q[1]+1,m)):a.range(m),t=a.scale.linear().domain(h&&h.call(this,b,c)||[n,o]).range([f,0]),u=this.__chart__||a.scale.linear().domain([0,1/0]).range(t.range());this.__chart__=t;var v=d.selectAll("line.center").data(r?[r]:[]);v.enter().insert("line","rect").attr("class","center").attr("x1",e/2).attr("y1",function(a){return u(a[0])}).attr("x2",e/2).attr("y2",function(a){return u(a[1])}).style("opacity",1e-6).transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.exit().transition().duration(g).style("opacity",1e-6).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}).remove();var w=d.selectAll("rect.box").data([p]);w.enter().append("rect").attr("class","box").attr("x",0).attr("y",function(a){return u(a[2])}).attr("width",e).attr("height",function(a){return u(a[0])-u(a[2])}).transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])}),w.transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])});var x=d.selectAll("line.median").data([p[1]]);x.enter().append("line").attr("class","median").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).transition().duration(g).attr("y1",t).attr("y2",t),x.transition().duration(g).attr("y1",t).attr("y2",t);var y=d.selectAll("line.whisker").data(r||[]);y.enter().insert("line","circle, text").attr("class","whisker").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).style("opacity",1e-6).transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.exit().transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1e-6).remove();var z=d.selectAll("circle.outlier").data(s,Number);z.enter().insert("circle","text").attr("class","outlier").attr("r",5).attr("cx",e/2).attr("cy",function(a){return u(b[a])}).style("opacity",1e-6).transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.exit().transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1e-6).remove();var A=l||t.tickFormat(8),B=d.selectAll("text.box").data(p);B.enter().append("text").attr("class","box").attr("dy",".3em").attr("dx",function(a,b){return 1&b?6:-6}).attr("x",function(a,b){return 1&b?e:0}).attr("y",u).attr("text-anchor",function(a,b){return 1&b?"start":"end"}).text(A).transition().duration(g).attr("y",t),B.transition().duration(g).text(A).attr("y",t);var C=d.selectAll("text.whisker").data(r||[]);C.enter().append("text").attr("class","whisker").attr("dy",".3em").attr("dx",6).attr("x",e).attr("y",u).text(A).style("opacity",1e-6).transition().duration(g).attr("y",t).style("opacity",1),C.transition().duration(g).text(A).attr("y",t).style("opacity",1),C.exit().transition().duration(g).attr("y",t).style("opacity",1e-6).remove()}),a.timer.flush()}var e=1,f=1,g=0,h=null,i=Number,j=b,k=c,l=null;return d.width=function(a){return arguments.length?(e=a,d):e},d.height=function(a){return arguments.length?(f=a,d):f},d.tickFormat=function(a){return arguments.length?(l=a,d):l},d.duration=function(a){return arguments.length?(g=a,d):g},d.domain=function(b){return arguments.length?(h=null===b?b:a.functor(b),d):h},d.value=function(a){return arguments.length?(i=a,d):i},d.whiskers=function(a){return arguments.length?(j=a,d):j},d.quartiles=function(a){return arguments.length?(k=a,d):k},d}}(),c.boxPlot=function(b,d){function e(a){return function(b){for(var c=b.quartiles[0],d=b.quartiles[2],e=(d-c)*a,f=-1,g=b.length;b[++f]d+e;);return[f,g]}}function f(a){var b=a.enter().append("g");b.attr("class","box").attr("transform",p).call(m).on("click",function(a){i.filter(a.key),i.redrawGroup()})}function g(b){c.transition(b,i.transitionDuration()).attr("transform",p).call(m).each(function(){a.select(this).select("rect.box").attr("fill",i.getColor)})}function h(a){a.exit().remove().call(m)}var i=c.coordinateGridMixin({}),j=1.5,k=e,l=k(j),m=a.box(),n=null,o=function(a,b){return i.isOrdinal()?i.x().rangeBand():a/(1+i.boxPadding())/b};i.yAxisPadding(12),i.x(a.scale.ordinal()),i.xUnits(c.units.ordinal),i.data(function(a){return a.all().map(function(a){return a.map=function(b){return b.call(a,a)},a}).filter(function(a){var b=i.valueAccessor()(a);return 0!==b.length})}),i.boxPadding=i._rangeBandPadding,i.boxPadding(.8),i.outerPadding=i._outerRangeBandPadding,i.outerPadding(.5),i.boxWidth=function(b){return arguments.length?(o=a.functor(b),i):o};var p=function(a,b){var c=i.x()(i.keyAccessor()(a,b));return"translate("+c+", 0)"};return i._preprocessData=function(){i.elasticX()&&i.x().domain([])},i.plotData=function(){var a=o(i.effectiveWidth(),i.xUnitCount());m.whiskers(l).width(a).height(i.effectiveHeight()).value(i.valueAccessor()).domain(i.y().domain()).duration(i.transitionDuration()).tickFormat(n);var b=i.chartBodyG().selectAll("g.box").data(i.data(),function(a){return a.key});f(b),g(b),h(b),i.fadeDeselectedArea()},i.fadeDeselectedArea=function(){i.g().selectAll("g.box").each(i.hasFilter()?function(a){i.isSelectedNode(a)?i.highlightSelected(this):i.fadeDeselected(this)}:function(){i.resetHighlight(this)})},i.isSelectedNode=function(a){return i.hasFilter(a.key)},i.yAxisMin=function(){var b=a.min(i.data(),function(b){return a.min(i.valueAccessor()(b))});return c.utils.subtract(b,i.yAxisPadding())},i.yAxisMax=function(){var b=a.max(i.data(),function(b){return a.max(i.valueAccessor()(b))});return c.utils.add(b,i.yAxisPadding())},i.tickFormat=function(a){return arguments.length?(n=a,i):n},i.anchor(b,d)},c.abstractBubbleChart=c.bubbleMixin,c.baseChart=c.baseMixin,c.capped=c.capMixin,c.colorChart=c.colorMixin,c.coordinateGridChart=c.coordinateGridMixin,c.marginable=c.marginMixin,c.stackableChart=c.stackMixin,c.d3=a,c.crossfilter=b,c}if("function"==typeof define&&define.amd)define(["d3","crossfilter"],a);else if("object"==typeof module&&module.exports){var b=require("d3"),c=require("crossfilter");"function"!=typeof c&&(c=c.crossfilter),module.exports=a(b,c)}else this.dc=a(d3,crossfilter)}(); +!function(){function a(a,b){"use strict";var c={version:"2.1.0-dev",constants:{CHART_CLASS:"dc-chart",DEBUG_GROUP_CLASS:"debug",STACK_CLASS:"stack",DESELECTED_CLASS:"deselected",SELECTED_CLASS:"selected",NODE_INDEX_NAME:"__index__",GROUP_INDEX_NAME:"__group_index__",DEFAULT_CHART_GROUP:"__default_chart_group__",EVENT_DELAY:40,NEGLIGIBLE_NUMBER:1e-10},_renderlet:null};c.chartRegistry=function(){function a(a){return a||(a=c.constants.DEFAULT_CHART_GROUP),b[a]||(b[a]=[]),a}var b={};return{has:function(a){for(var c in b)if(b[c].indexOf(a)>=0)return!0;return!1},register:function(c,d){d=a(d),b[d].push(c)},deregister:function(c,d){d=a(d);for(var e=0;e=b||void 0===b||c.disableTransitions)return a;var f=a.transition(e).duration(b);return"function"==typeof d&&d(f),f},c.optionalTransition=function(a,b,d,e){return a?function(a){return c.transition(a,b,d,e)}:function(a){return a}},c.units={},c.units.integers=function(a,b){return Math.abs(b-a)},c.units.ordinal=function(a,b,c){return c},c.units.fp={},c.units.fp.precision=function(a){var b=function(a,d){var e=Math.abs((d-a)/b.resolution);return c.utils.isNegligible(e-Math.floor(e))?Math.floor(e):Math.ceil(e)};return b.resolution=a,b},c.round={},c.round.floor=function(a){return Math.floor(a)},c.round.ceil=function(a){return Math.ceil(a)},c.round.round=function(a){return Math.round(a)},c.override=function(a,b,c){var d=a[b];a["_"+b]=d,a[b]=c},c.renderlet=function(a){return arguments.length?(c._renderlet=a,c):c._renderlet},c.instanceOfChart=function(a){return a instanceof Object&&a.__dcFlag__&&!0},c.errors={},c.errors.Exception=function(a){var b=a||"Unexpected internal error";this.message=b,this.toString=function(){return b}},c.errors.InvalidStateException=function(){c.errors.Exception.apply(this,arguments)},c.dateFormat=a.time.format("%m/%d/%Y"),c.printers={},c.printers.filters=function(a){for(var b="",d=0;d0&&(b+=", "),b+=c.printers.filter(a[d]);return b},c.printers.filter=function(a){var b="";return"undefined"!=typeof a&&null!==a&&(a instanceof Array?a.length>=2?b="["+c.utils.printSingleValue(a[0])+" -> "+c.utils.printSingleValue(a[1])+"]":a.length>=1&&(b=c.utils.printSingleValue(a[0])):b=c.utils.printSingleValue(a)),b},c.pluck=function(a,b){return b?function(c,d){return b.call(c,c[a],d)}:function(b){return b[a]}},c.utils={},c.utils.printSingleValue=function(a){var b=""+a;return a instanceof Date?b=c.dateFormat(a):"string"==typeof a?b=a:c.utils.isFloat(a)?b=c.utils.printSingleValue.fformat(a):c.utils.isInteger(a)&&(b=Math.round(a)),b},c.utils.printSingleValue.fformat=a.format(".2f"),c.utils.add=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()+b),c}if("string"==typeof b){var d=+b/100;return a>0?a*(1+d):a*(1-d)}return a+b},c.utils.subtract=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()-b),c}if("string"==typeof b){var d=+b/100;return 0>a?a*(1+d):a*(1-d)}return a-b},c.utils.isNumber=function(a){return a===+a},c.utils.isFloat=function(a){return a===+a&&a!==(0|a)},c.utils.isInteger=function(a){return a===+a&&a===(0|a)},c.utils.isNegligible=function(a){return!c.utils.isNumber(a)||a-c.constants.NEGLIGIBLE_NUMBER},c.utils.clamp=function(a,b,c){return b>a?b:a>c?c:a};var d=0;return c.utils.uniqueId=function(){return++d},c.utils.nameToId=function(a){return a.toLowerCase().replace(/[\s]/g,"_").replace(/[\.']/g,"")},c.utils.appendOrSelect=function(a,b,c){c=c||b;var d=a.select(b);return d.empty()&&(d=a.append(c)),d},c.utils.safeNumber=function(a){return c.utils.isNumber(+a)?+a:0},c.logger={},c.logger.enableDebugLog=!1,c.logger.warn=function(a){return console&&(console.warn?console.warn(a):console.log&&console.log(a)),c.logger},c.logger.debug=function(a){return c.logger.enableDebugLog&&console&&(console.debug?console.debug(a):console.log&&console.log(a)),c.logger},c.logger.deprecate=function(a,b){function d(){return e||(c.logger.warn(b),e=!0),a.apply(this,arguments)}var e=!1;return d},c.events={current:null},c.events.trigger=function(a,b){return b?(c.events.current=a,void setTimeout(function(){a===c.events.current&&a()},b)):void a()},c.filters={},c.filters.RangedFilter=function(a,b){var c=new Array(a,b);return c.isFiltered=function(a){return a>=this[0]&&a=b[0][0]&&c=b[0][1]&&dq?b:q},s=r,t=200,u=function(a){var b=a&&a.getBoundingClientRect&&a.getBoundingClientRect().height;return b&&b>t?b:t},v=u,w=c.pluck("key"),x=c.pluck("value"),y=c.pluck("key"),z=c.pluck("key"),A=!1,B=function(a){return d.keyAccessor()(a)+": "+d.valueAccessor()(a)},C=!0,D=!0,E=750,F=c.printers.filters,G=["dimension","group"],H=c.constants.DEFAULT_CHART_GROUP,I=a.dispatch("preRender","postRender","preRedraw","postRedraw","filtered","zoomed","renderlet","pretransition"),J=[],K=function(a,b){return a.filter(null),0===b.length?a.filter(null):a.filterFunction(function(a){for(var c=0;c=d&&d>=a)return!0}return!1}),b},L=function(a){return a.all()};d.width=function(b){return arguments.length?(s=a.functor(b||r),d):s(l.node())},d.height=function(b){return arguments.length?(v=a.functor(b||u),d):v(l.node())},d.minWidth=function(a){return arguments.length?(q=a,d):q},d.minHeight=function(a){return arguments.length?(t=a,d):t},d.dimension=function(a){return arguments.length?(i=a,d.expireCache(),d):i},d.data=function(b){return arguments.length?(L=a.functor(b),d.expireCache(),d):L.call(d,j)},d.group=function(a,b){return arguments.length?(j=a,d._groupName=b,d.expireCache(),d):j},d.ordering=function(a){return arguments.length?(z=a,o=b.quicksort.by(z),d.expireCache(),d):z},d._computeOrderedGroups=function(a){var c=a.slice(0);return c.length<=1?c:(o||(o=b.quicksort.by(z)),o(c,0,c.length))},d.filterAll=function(){return d.filter(null)},d.select=function(a){return l.select(a)},d.selectAll=function(a){return l?l.selectAll(a):null},d.anchor=function(b,e){return arguments.length?(c.instanceOfChart(b)?(k=b.anchor(),l=b.root(),n=!0):(k=b,l=a.select(k),l.classed(c.constants.CHART_CLASS,!0),c.registerChart(d,e),n=!1),H=e,d):k},d.anchorName=function(){var a=d.anchor();return a&&a.id?a.id:a&&a.replace?a.replace("#",""):"dc-chart"+d.chartID()},d.root=function(a){return arguments.length?(l=a,d):l},d.svg=function(a){return arguments.length?(m=a,d):m},d.resetSvg=function(){return d.select("svg").remove(),f()},d.filterPrinter=function(a){return arguments.length?(F=a,d):F},d.controlsUseVisibility=function(a){return arguments.length?(D=a,d):D},d.turnOnControls=function(){if(l){var a=d.controlsUseVisibility()?"visibility":"display";d.selectAll(".reset").style(a,null),d.selectAll(".filter").text(F(d.filters())).style(a,null)}return d},d.turnOffControls=function(){if(l){var a=d.controlsUseVisibility()?"visibility":"display",b=d.controlsUseVisibility()?"hidden":"none";d.selectAll(".reset").style(a,b),d.selectAll(".filter").style(a,b).text(d.filter())}return d},d.transitionDuration=function(a){return arguments.length?(E=a,d):E},d._mandatoryAttributes=function(a){return arguments.length?(G=a,d):G},d.render=function(){I.preRender(d),G&&G.forEach(g);var a=d._doRender();return p&&p.render(),d._activateRenderlets("postRender"),a},d._activateRenderlets=function(a){I.pretransition(d),d.transitionDuration()>0&&m?m.transition().duration(d.transitionDuration()).each("end",function(){I.renderlet(d),a&&I[a](d)}):(I.renderlet(d),a&&I[a](d))},d.redraw=function(){e(),I.preRedraw(d);var a=d._doRedraw();return p&&p.render(),d._activateRenderlets("postRedraw"),a},d.redrawGroup=function(){c.redrawAll(d.chartGroup())},d.renderGroup=function(){c.renderAll(d.chartGroup())},d._invokeFilteredListener=function(a){void 0!==a&&I.filtered(d,a)},d._invokeZoomedListener=function(){I.zoomed(d)};var M=function(a,b){return null===b||"undefined"==typeof b?a.length>0:a.some(function(a){return a>=b&&b>=a})};d.hasFilterHandler=function(a){return arguments.length?(M=a,d):M},d.hasFilter=function(a){return M(J,a)};var N=function(a,b){for(var c=0;c=b){a.splice(c,1);break}return a};d.removeFilterHandler=function(a){return arguments.length?(N=a,d):N};var O=function(a,b){return a.push(b),a};d.addFilterHandler=function(a){return arguments.length?(O=a,d):O};var P=function(a){return[]};return d.resetFilterHandler=function(a){return arguments.length?(P=a,d):P},d.replaceFilter=function(a){J=[],d.filter(a)},d.filter=function(a){return arguments.length?(a instanceof Array&&a[0]instanceof Array&&!a.isFiltered?a[0].forEach(function(a){d.hasFilter(a)?N(J,a):O(J,a)}):null===a?J=P(J):d.hasFilter(a)?N(J,a):O(J,a),h(),d._invokeFilteredListener(a),null!==l&&d.hasFilter()?d.turnOnControls():d.turnOffControls(),d):J.length>0?J[0]:null},d.filters=function(){return J},d.highlightSelected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!0),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.fadeDeselected=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!0)},d.resetHighlight=function(b){a.select(b).classed(c.constants.SELECTED_CLASS,!1),a.select(b).classed(c.constants.DESELECTED_CLASS,!1)},d.onClick=function(a){var b=d.keyAccessor()(a);c.events.trigger(function(){d.filter(b),d.redrawGroup()})},d.filterHandler=function(a){return arguments.length?(K=a,d):K},d._doRender=function(){return d},d._doRedraw=function(){return d},d.legendables=function(){return[]},d.legendHighlight=function(){},d.legendReset=function(){},d.legendToggle=function(){},d.isLegendableHidden=function(){return!1},d.keyAccessor=function(a){return arguments.length?(w=a,d):w},d.valueAccessor=function(a){return arguments.length?(x=a,d):x},d.label=function(a){return arguments.length?(y=a,A=!0,d):y},d.renderLabel=function(a){return arguments.length?(A=a,d):A},d.title=function(a){return arguments.length?(B=a,d):B},d.renderTitle=function(a){return arguments.length?(C=a,d):C},d.renderlet=c.logger.deprecate(function(a){return d.on("renderlet."+c.utils.uniqueId(),a),d},'chart.renderlet has been deprecated. Please use chart.on("renderlet.", renderletFunction)'),d.chartGroup=function(a){return arguments.length?(n||c.deregisterChart(d,H),H=a,n||c.registerChart(d,H),d):H},d.expireCache=function(){return d},d.legend=function(a){return arguments.length?(p=a,p.parent(d),d):p},d.chartID=function(){return d.__dcFlag__},d.options=function(a){var b=["anchor","group","xAxisLabel","yAxisLabel","stack","title","point","getColor","overlayGeoJson"];for(var e in a)"function"==typeof d[e]?a[e]instanceof Array&&-1!==b.indexOf(e)?d[e].apply(d,a[e]):d[e].call(d,a[e]):c.logger.debug("Not a valid option setter name: "+e);return d},d.on=function(a,b){return I.on(a,b),d},d},c.marginMixin=function(a){var b={top:10,right:50,bottom:30,left:30};return a.margins=function(c){return arguments.length?(b=c,a):b},a.effectiveWidth=function(){return a.width()-a.margins().left-a.margins().right},a.effectiveHeight=function(){return a.height()-a.margins().top-a.margins().bottom},a},c.colorMixin=function(b){var c=a.scale.category20c(),d=!0,e=function(a){return b.keyAccessor()(a)};return b.colors=function(d){return arguments.length?(c=d instanceof Array?a.scale.quantize().range(d):a.functor(d),b):c},b.ordinalColors=function(c){return b.colors(a.scale.ordinal().range(c))},b.linearColors=function(c){return b.colors(a.scale.linear().range(c).interpolate(a.interpolateHcl))},b.colorAccessor=function(a){return arguments.length?(e=a,d=!1,b):e},b.defaultColorAccessor=function(){return d},b.colorDomain=function(a){return arguments.length?(c.domain(a),b):c.domain()},b.calculateColorDomain=function(){var d=[a.min(b.data(),b.colorAccessor()),a.max(b.data(),b.colorAccessor())];return c.domain(d),b},b.getColor=function(a,b){return c(e.call(this,a,b))},b.colorCalculator=function(a){return arguments.length?(b.getColor=a,b):b.getColor},b},c.coordinateGridMixin=function(b){function d(){V=!0,Y&&(b.x().domain(m(b.x().domain(),z)),G&&b.x().domain(m(b.x().domain(),G.x().domain())));var a=b.x().domain(),d=c.filters.RangedFilter(a[0],a[1]);b.replaceFilter(d),b.rescale(),b.redraw(),G&&!n(b.filter(),G.filter())&&c.events.trigger(function(){G.replaceFilter(d),G.redraw()}),b._invokeZoomedListener(),c.events.trigger(function(){b.redrawGroup()},c.constants.EVENT_DELAY),V=!n(a,z)}function e(a,b){return!a||!b||a.length!==b.length||a.some(function(a,c){return a.toString()!==b[c].toString()})}function f(a,c){b.isOrdinal()?(b.elasticX()||0===y.domain().length)&&y.domain(b._ordinalXDomain()):b.elasticX()&&y.domain([b.xAxisMin(),b.xAxisMax()]);var d=y.domain();(c||e(B,d))&&b.rescale(),B=d,b.isOrdinal()?y.rangeBands([0,b.xAxisLength()],da,b._useOuterPadding()?ca:0):y.range([0,b.xAxisLength()]),I=I.scale(b.x()),g(a)}function g(a){var d=a.selectAll("g."+r);if(U){d.empty()&&(d=a.insert("g",":first-child").attr("class",p+" "+r).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var e=I.tickValues()?I.tickValues():"function"==typeof y.ticks?y.ticks(I.ticks()[0]):y.domain(),f=d.selectAll("line").data(e),g=f.enter().append("line").attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0).attr("opacity",0);c.transition(g,b.transitionDuration()).attr("opacity",1),c.transition(f,b.transitionDuration()).attr("x1",function(a){return y(a)}).attr("y1",b._xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0),f.exit().remove()}else d.selectAll("line").remove()}function h(){return b._xAxisY()-b.margins().top}function i(){return b.anchorName().replace(/[ .#=\[\]]/g,"-")+"-clip"}function j(){var a=c.utils.appendOrSelect(v,"defs"),d=i(),e=c.utils.appendOrSelect(a,"#"+d,"clipPath").attr("id",d),f=2*ba;c.utils.appendOrSelect(e,"rect").attr("width",b.xAxisLength()+f).attr("height",b.yAxisHeight()+f).attr("transform","translate(-"+ba+", -"+ba+")")}function k(a){b.isOrdinal()&&(S=!1),f(b.g(),a),b._prepareYAxis(b.g()),b.plotData(),(b.elasticX()||W||a)&&b.renderXAxis(b.g()),(b.elasticY()||W||a)&&b.renderYAxis(b.g()),a?b.renderBrush(b.g(),!1):b.redrawBrush(b.g(),W),b.fadeDeselectedArea(),W=!1}function l(){aa?b._enableMouseZoom():_&&b._disableMouseZoom()}function m(b,c){var d=[];return d[0]=a.max([b[0],c[0]]),d[1]=a.min([b[1],c[1]]),d}function n(a,b){return a||b?a&&b?0===a.length&&0===b.length?!0:a[0].valueOf()===b[0].valueOf()&&a[1].valueOf()===b[1].valueOf()?!0:!1:!1:!0}function o(a){return a instanceof Array&&a.length>1}var p="grid-line",q="horizontal",r="vertical",s="y-axis-label",t="x-axis-label",u=12;b=c.colorMixin(c.marginMixin(c.baseMixin(b))),b.colors(a.scale.category10()),b._mandatoryAttributes().push("x");var v,w,x,y,z,A,B,C,D,E,F,G,H,I=a.svg.axis().orient("bottom"),J=c.units.integers,K=0,L=!1,M=0,N=a.svg.axis().orient("left"),O=0,P=!1,Q=0,R=a.svg.brush(),S=!0,T=!1,U=!1,V=!1,W=!1,X=[1,1/0],Y=!0,Z=a.behavior.zoom().on("zoom",d),$=a.behavior.zoom().on("zoom",null),_=!1,aa=!1,ba=0,ca=.5,da=0,ea=!1;return b.rescale=function(){return F=void 0,W=!0,b},b.rangeChart=function(a){return arguments.length?(G=a,G.focusChart(b),b):G},b.zoomScale=function(a){return arguments.length?(X=a,b):X},b.zoomOutRestrict=function(a){return arguments.length?(X[0]=a?1:0,Y=a,b):Y},b._generateG=function(a){return v=void 0===a?b.svg():a,w=v.append("g"),x=w.append("g").attr("class","chart-body").attr("transform","translate("+b.margins().left+", "+b.margins().top+")").attr("clip-path","url(#"+i()+")"),w},b.g=function(a){return arguments.length?(w=a,b):w},b.mouseZoomable=function(a){return arguments.length?(aa=a,b):aa},b.chartBodyG=function(a){return arguments.length?(x=a,b):x},b.x=function(a){return arguments.length?(y=a,z=y.domain(),b.rescale(),b):y},b.xOriginalDomain=function(){return z},b.xUnits=function(a){return arguments.length?(J=a,b):J},b.xAxis=function(a){return arguments.length?(I=a,b):I},b.elasticX=function(a){return arguments.length?(L=a,b):L},b.xAxisPadding=function(a){return arguments.length?(K=a,b):K},b.xUnitCount=function(){if(void 0===F){var a=b.xUnits()(b.x().domain()[0],b.x().domain()[1],b.x().domain());F=a instanceof Array?a.length:a}return F},b.useRightYAxis=function(a){return arguments.length?(ea=a,b):ea},b.isOrdinal=function(){return b.xUnits()===c.units.ordinal},b._useOuterPadding=function(){return!0},b._ordinalXDomain=function(){var a=b._computeOrderedGroups(b.data());return a.map(b.keyAccessor())},b.renderXAxis=function(a){var d=a.selectAll("g.x");d.empty()&&(d=a.append("g").attr("class","axis x").attr("transform","translate("+b.margins().left+","+b._xAxisY()+")"));var e=a.selectAll("text."+t);e.empty()&&b.xAxisLabel()&&(e=a.append("text").attr("class",t).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")").attr("text-anchor","middle")),b.xAxisLabel()&&e.text()!==b.xAxisLabel()&&e.text(b.xAxisLabel()),c.transition(d,b.transitionDuration()).attr("transform","translate("+b.margins().left+","+b._xAxisY()+")").call(I),c.transition(e,b.transitionDuration()).attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-M)+")")},b._xAxisY=function(){return b.height()-b.margins().bottom},b.xAxisLength=function(){return b.effectiveWidth()},b.xAxisLabel=function(a,c){return arguments.length?(A=a,b.margins().bottom-=M,M=void 0===c?u:c,b.margins().bottom+=M,b):A},b._prepareYAxis=function(c){if(void 0===C||b.elasticY()){void 0===C&&(C=a.scale.linear());var d=b.yAxisMin()||0,e=b.yAxisMax()||0;C.domain([d,e]).rangeRound([b.yAxisHeight(),0])}C.range([b.yAxisHeight(),0]),N=N.scale(C),ea&&N.orient("right"),b._renderHorizontalGridLinesForAxis(c,C,N)},b.renderYAxisLabel=function(a,d,e,f){f=f||Q;var g=b.g().selectAll("text."+s+"."+a+"-label"),h=b.margins().top+b.yAxisHeight()/2;g.empty()&&d&&(g=b.g().append("text").attr("transform","translate("+f+","+h+"),rotate("+e+")").attr("class",s+" "+a+"-label").attr("text-anchor","middle").text(d)),d&&g.text()!==d&&g.text(d),c.transition(g,b.transitionDuration()).attr("transform","translate("+f+","+h+"),rotate("+e+")")},b.renderYAxisAt=function(a,d,e){var f=b.g().selectAll("g."+a);f.empty()&&(f=b.g().append("g").attr("class","axis "+a).attr("transform","translate("+e+","+b.margins().top+")")),c.transition(f,b.transitionDuration()).attr("transform","translate("+e+","+b.margins().top+")").call(d)},b.renderYAxis=function(){var a=ea?b.width()-b.margins().right:b._yAxisX();b.renderYAxisAt("y",N,a);var c=ea?b.width()-Q:Q,d=ea?90:-90;b.renderYAxisLabel("y",b.yAxisLabel(),d,c)},b._renderHorizontalGridLinesForAxis=function(a,d,e){var f=a.selectAll("g."+q);if(T){var g=e.tickValues()?e.tickValues():d.ticks(e.ticks()[0]);f.empty()&&(f=a.insert("g",":first-child").attr("class",p+" "+q).attr("transform","translate("+b.margins().left+","+b.margins().top+")"));var h=f.selectAll("line").data(g),i=h.enter().append("line").attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}).attr("opacity",0);c.transition(i,b.transitionDuration()).attr("opacity",1),c.transition(h,b.transitionDuration()).attr("x1",1).attr("y1",function(a){return d(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return d(a)}),h.exit().remove()}else f.selectAll("line").remove()},b._yAxisX=function(){return b.useRightYAxis()?b.width()-b.margins().right:b.margins().left},b.yAxisLabel=function(a,c){return arguments.length?(D=a,b.margins().left-=Q,Q=void 0===c?u:c,b.margins().left+=Q,b):D},b.y=function(a){return arguments.length?(C=a,b.rescale(),b):C},b.yAxis=function(a){return arguments.length?(N=a,b):N},b.elasticY=function(a){return arguments.length?(P=a,b):P},b.renderHorizontalGridLines=function(a){return arguments.length?(T=a,b):T},b.renderVerticalGridLines=function(a){return arguments.length?(U=a,b):U},b.xAxisMin=function(){var d=a.min(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.subtract(d,K)},b.xAxisMax=function(){var d=a.max(b.data(),function(a){return b.keyAccessor()(a)});return c.utils.add(d,K)},b.yAxisMin=function(){var d=a.min(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.subtract(d,O)},b.yAxisMax=function(){var d=a.max(b.data(),function(a){return b.valueAccessor()(a)});return c.utils.add(d,O)},b.yAxisPadding=function(a){return arguments.length?(O=a,b):O},b.yAxisHeight=function(){return b.effectiveHeight()},b.round=function(a){return arguments.length?(E=a,b):E},b._rangeBandPadding=function(a){return arguments.length?(da=a,b):da},b._outerRangeBandPadding=function(a){return arguments.length?(ca=a,b):ca},c.override(b,"filter",function(a){return arguments.length?(b._filter(a),a?b.brush().extent(a):b.brush().clear(),b):b._filter()}),b.brush=function(a){return arguments.length?(R=a,b):R},b.renderBrush=function(a){if(S){R.on("brush",b._brushing),R.on("brushstart",b._disableMouseZoom),R.on("brushend",l);var c=a.append("g").attr("class","brush").attr("transform","translate("+b.margins().left+","+b.margins().top+")").call(R.x(b.x()));b.setBrushY(c,!1),b.setHandlePaths(c),b.hasFilter()&&b.redrawBrush(a,!1)}},b.setHandlePaths=function(a){a.selectAll(".resize").append("path").attr("d",b.resizeHandlePath)},b.setBrushY=function(a){a.selectAll(".brush rect").attr("height",h()),a.selectAll(".resize path").attr("d",b.resizeHandlePath)},b.extendBrush=function(){var a=R.extent();return b.round()&&(a[0]=a.map(b.round())[0],a[1]=a.map(b.round())[1],w.select(".brush").call(R.extent(a))),a},b.brushIsEmpty=function(a){return R.empty()||!a||a[1]<=a[0]},b._brushing=function(){var a=b.extendBrush();if(b.redrawBrush(w,!1),b.brushIsEmpty(a))c.events.trigger(function(){b.filter(null),b.redrawGroup()},c.constants.EVENT_DELAY);else{var d=c.filters.RangedFilter(a[0],a[1]);c.events.trigger(function(){b.replaceFilter(d),b.redrawGroup()},c.constants.EVENT_DELAY)}},b.redrawBrush=function(a,d){if(S){b.filter()&&b.brush().empty()&&b.brush().extent(b.filter());var e=c.optionalTransition(d,b.transitionDuration())(a.select("g.brush"));b.setBrushY(e),e.call(b.brush().x(b.x()).extent(b.brush().extent()))}b.fadeDeselectedArea()},b.fadeDeselectedArea=function(){},b.resizeHandlePath=function(a){var b=+("e"===a),c=b?1:-1,d=h()/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)},b.clipPadding=function(a){return arguments.length?(ba=a,b):ba},b._preprocessData=function(){},b._doRender=function(){return b.resetSvg(),b._preprocessData(),b._generateG(),j(),k(!0),l(),b},b._doRedraw=function(){return b._preprocessData(),k(!1),j(),b},b._enableMouseZoom=function(){_=!0,Z.x(b.x()).scaleExtent(X).size([b.width(),b.height()]).duration(b.transitionDuration()),b.root().call(Z)},b._disableMouseZoom=function(){b.root().call($)},b.focus=function(a){o(a)?b.x().domain(a):b.x().domain(z),Z.x(b.x()),d()},b.refocused=function(){return V},b.focusChart=function(a){return arguments.length?(H=a,b.on("filtered",function(a){a.filter()?n(a.filter(),H.filter())||c.events.trigger(function(){H.focus(a.filter())}):c.events.trigger(function(){H.x().domain(H.xOriginalDomain())})}),b):H},b.brushOn=function(a){return arguments.length?(S=a,b):S},b},c.stackMixin=function(b){function d(a,c){var d=a.accessor||b.valueAccessor();return a.name=String(a.name||c),a.values=a.group.all().map(function(c,e){return{x:b.keyAccessor()(c,e),y:a.hidden?null:d(c,e),data:c,layer:a.name,hidden:a.hidden}}),a.values=a.values.filter(e()),a.values}function e(){if(!b.x())return a.functor(!0);var c=b.x().domain();return b.isOrdinal()?function(){return!0}:b.elasticX()?function(){return!0}:function(a){return a.x>=c[0]&&a.x<=c[c.length-1]}}function f(a){var b=j.map(c.pluck("name")).indexOf(a);return j[b]}function g(){var a=b.data().map(function(a){return a.values});return Array.prototype.concat.apply([],a)}function h(a){return!a.hidden}var i=a.layout.stack().values(d),j=[],k={},l=!1;return b.stack=function(a,c,d){if(!arguments.length)return j;arguments.length<=2&&(d=c);var e={group:a};return"string"==typeof c&&(e.name=c),"function"==typeof d&&(e.accessor=d),j.push(e),b},c.override(b,"group",function(a,c,d){return arguments.length?(j=[],k={},b.stack(a,c),d&&b.valueAccessor(d),b._group(a,c)):b._group()}),b.hidableStacks=function(a){return arguments.length?(l=a,b):l},b.hideStack=function(a){var c=f(a);return c&&(c.hidden=!0),b},b.showStack=function(a){var c=f(a);return c&&(c.hidden=!1),b},b.getValueAccessorByIndex=function(a){return j[a].accessor||b.valueAccessor()},b.yAxisMin=function(){var d=a.min(g(),function(a){return a.y+a.y0d?c.concat([{others:k,key:e,value:g-d}]):c};return b.cappedKeyAccessor=function(a,c){return a.others?a.key:b.keyAccessor()(a,c)},b.cappedValueAccessor=function(a,c){return a.others?a.value:b.valueAccessor()(a,c)},b.data(function(a){if(d===1/0)return b._computeOrderedGroups(a.all());var c=a.top(d);return c=b._computeOrderedGroups(c),f?f(c):c}),b.cap=function(a){return arguments.length?(d=a,b):d},b.othersLabel=function(a){return arguments.length?(e=a,b):e},b.othersGrouper=function(a){return arguments.length?(f=a,b):f},c.override(b,"onClick",function(a){a.others&&b.filter([a.others]),b._onClick(a)}),b},c.bubbleMixin=function(b){var d=.3,e=10;b.BUBBLE_NODE_CLASS="node",b.BUBBLE_CLASS="bubble",b.MIN_RADIUS=10,b=c.colorMixin(b),b.renderLabel(!0),b.data(function(a){return a.top(1/0)});var f=a.scale.linear().domain([0,100]),g=function(a){return a.r};b.r=function(a){return arguments.length?(f=a,b):f},b.radiusValueAccessor=function(a){return arguments.length?(g=a,b):g},b.rMin=function(){var c=a.min(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.rMax=function(){var c=a.max(b.data(),function(a){return b.radiusValueAccessor()(a)});return c},b.bubbleR=function(a){var c=b.radiusValueAccessor()(a),d=b.r()(c);return(isNaN(d)||0>=c)&&(d=0),d};var h=function(a){return b.label()(a)},i=function(a){return b.bubbleR(a)>e?1:0};b._doRenderLabel=function(a){if(b.renderLabel()){var d=a.select("text");d.empty()&&(d=a.append("text").attr("text-anchor","middle").attr("dy",".3em").on("click",b.onClick)),d.attr("opacity",0).text(h),c.transition(d,b.transitionDuration()).attr("opacity",i)}},b.doUpdateLabels=function(a){if(b.renderLabel()){var d=a.selectAll("text").text(h);c.transition(d,b.transitionDuration()).attr("opacity",i)}};var j=function(a){return b.title()(a)};return b._doRenderTitles=function(a){if(b.renderTitle()){var c=a.select("title");c.empty()&&a.append("title").text(j)}},b.doUpdateTitles=function(a){b.renderTitle()&&a.selectAll("title").text(j)},b.minRadiusWithLabel=function(a){return arguments.length?(e=a,b):e},b.maxBubbleRelativeSize=function(a){return arguments.length?(d=a,b):d},b.fadeDeselectedArea=function(){b.hasFilter()?b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(function(a){b.isSelectedNode(a)?b.highlightSelected(this):b.fadeDeselected(this)}):b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(function(){b.resetHighlight(this)})},b.isSelectedNode=function(a){return b.hasFilter(a.key)},b.onClick=function(a){var d=a.key;c.events.trigger(function(){b.filter(d),b.redrawGroup()})},b},c.pieChart=function(b,d){function e(){D=E?E:a.min([Q.width(),Q.height()])/2;var b,d=r(),e=t();if(a.sum(Q.data(),Q.valueAccessor())?(b=e(Q.data()),F.classed(L,!1)):(b=e([{key:M,value:1,others:[M]}]),F.classed(L,!0)),F){var g=F.selectAll("g."+K).data(b);f(g,d,b),l(b,d),p(g),q(),c.transition(F,Q.transitionDuration()).attr("transform","translate("+Q.cx()+","+Q.cy()+")")}}function f(a,b,c){var d=g(a);h(d,b),i(d),k(c,b)}function g(a){var b=a.enter().append("g").attr("class",function(a,b){return K+" _"+b});return b}function h(a,b){var d=a.append("path").attr("fill",y).on("click",z).attr("d",function(a,c){return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)})}function i(a){Q.renderTitle()&&a.append("title").text(function(a){return Q.title()(a.data)})}function j(a,b){c.transition(a,Q.transitionDuration()).attr("transform",function(a){return B(a,b)}).attr("text-anchor","middle").text(function(a){var b=a.data;return!v(b)&&!u(a)||s(a)?Q.label()(a.data):""})}function k(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);c.exit().remove();var d=c.enter().append("text").attr("class",function(a,b){var c=K+" _"+b;return I&&(c+=" external"),c}).on("click",z);j(d,b)}}function l(a,b){m(a,b),n(a,b),o(a)}function m(a,b){var d=F.selectAll("g."+K).data(a).select("path").attr("d",function(a,c){ +return A(a,c,b)});c.transition(d,Q.transitionDuration(),function(a){a.attrTween("d",w)}).attr("fill",y)}function n(a,b){if(Q.renderLabel()){var c=F.selectAll("text."+K).data(a);j(c,b)}}function o(a){Q.renderTitle()&&F.selectAll("g."+K).data(a).select("title").text(function(a){return Q.title()(a.data)})}function p(a){a.exit().remove()}function q(){Q.hasFilter()?Q.selectAll("g."+K).each(function(a){s(a)?Q.highlightSelected(this):Q.fadeDeselected(this)}):Q.selectAll("g."+K).each(function(){Q.resetHighlight(this)})}function r(){return a.svg.arc().outerRadius(D-O).innerRadius(N)}function s(a){return Q.hasFilter(Q.cappedKeyAccessor(a.data))}function t(){return a.layout.pie().sort(null).value(Q.cappedValueAccessor)}function u(a){var b=a.endAngle-a.startAngle;return isNaN(b)||P>b}function v(a){return 0===Q.cappedValueAccessor(a)}function w(b){b.innerRadius=N;var c=this._current;x(c)&&(c={startAngle:0,endAngle:0});var d=a.interpolate(c,b);return this._current=d(0),function(a){return A(d(a),0,r())}}function x(a){return!a||isNaN(a.startAngle)||isNaN(a.endAngle)}function y(a,b){return Q.getColor(a.data,b)}function z(a,b){F.attr("class")!==L&&Q.onClick(a.data,b)}function A(a,b,c){var d=c(a,b);return d.indexOf("NaN")>=0&&(d="M0,0"),d}function B(b,c){var d;return d=I?a.svg.arc().outerRadius(D-O+I).innerRadius(D-O+I).centroid(b):c.centroid(b),isNaN(d[0])||isNaN(d[1])?"translate(0,0)":"translate("+d+")"}function C(b,c){Q.selectAll("g.pie-slice").each(function(d){b.name===d.data.key&&a.select(this).classed("highlight",c)})}var D,E,F,G,H,I,J=.5,K="pie-slice",L="empty-chart",M="empty",N=0,O=0,P=J,Q=c.capMixin(c.colorMixin(c.baseMixin({})));return Q.colorAccessor(Q.cappedKeyAccessor),Q.title(function(a){return Q.cappedKeyAccessor(a)+": "+Q.cappedValueAccessor(a)}),Q.slicesCap=Q.cap,Q.label(Q.cappedKeyAccessor),Q.renderLabel(!0),Q.transitionDuration(350),Q._doRender=function(){return Q.resetSvg(),F=Q.svg().append("g").attr("transform","translate("+Q.cx()+","+Q.cy()+")"),e(),Q},Q.externalRadiusPadding=function(a){return arguments.length?(O=a,Q):O},Q.innerRadius=function(a){return arguments.length?(N=a,Q):N},Q.radius=function(a){return arguments.length?(E=a,Q):E},Q.cx=function(a){return arguments.length?(G=a,Q):G||Q.width()/2},Q.cy=function(a){return arguments.length?(H=a,Q):H||Q.height()/2},Q._doRedraw=function(){return e(),Q},Q.minAngleForLabel=function(a){return arguments.length?(P=a,Q):P},Q.emptyTitle=function(a){return 0===arguments.length?M:(M=a,Q)},Q.externalLabels=function(a){return 0===arguments.length?I:(I=a?a:void 0,Q)},Q.legendables=function(){return Q.data().map(function(a,b){var c={name:a.key,data:a.value,others:a.others,chart:Q};return c.color=Q.getColor(a,b),c})},Q.legendHighlight=function(a){C(a,!0)},Q.legendReset=function(a){C(a,!1)},Q.legendToggle=function(a){Q.onClick({key:a.name,others:a.others})},Q.anchor(b,d)},c.barChart=function(b,d){function e(a){return c.utils.safeNumber(Math.abs(l.y()(a.y+a.y0)-l.y()(a.y0)))}function f(a,b,d){var f=a.selectAll("rect.bar").data(d.values,c.pluck("x")),g=f.enter().append("rect").attr("class","bar").attr("fill",c.pluck("data",l.getColor)).attr("y",l.yAxisHeight()).attr("height",0);l.renderTitle()&&g.append("title").text(c.pluck("data",l.title(d.name))),l.isOrdinal()&&f.on("click",l.onClick),c.transition(f,l.transitionDuration()).attr("x",function(a){var b=l.x()(a.x);return n&&(b-=i/2),l.isOrdinal()&&void 0!==m&&(b+=m/2),c.utils.safeNumber(b)}).attr("y",function(a){var b=l.y()(a.y+a.y0);return a.y<0&&(b-=e(a)),c.utils.safeNumber(b)}).attr("width",i).attr("height",function(a){return e(a)}).attr("fill",c.pluck("data",l.getColor)).select("title").text(c.pluck("data",l.title(d.name))),c.transition(f.exit(),l.transitionDuration()).attr("height",0).remove()}function g(){if(void 0===i){var a=l.xUnitCount();i=l.isOrdinal()&&void 0===m?Math.floor(l.x().rangeBand()):m?Math.floor((l.xAxisLength()-(a-1)*m)/a):Math.floor(l.xAxisLength()/(1+l.barPadding())/a),(i===1/0||isNaN(i)||j>i)&&(i=j)}}function h(b,c){return function(){var d=a.select(this),e=d.attr("fill")===b;return c?!e:e}}var i,j=1,k=2,l=c.stackMixin(c.coordinateGridMixin({})),m=k,n=!1,o=!1;return c.override(l,"rescale",function(){return l._rescale(),i=void 0,l}),c.override(l,"render",function(){return l.round()&&n&&!o&&c.logger.warn("By default, brush rounding is disabled if bars are centered. See dc.js bar chart API documentation for details."),l._render()}),l.plotData=function(){var b=l.chartBodyG().selectAll("g.stack").data(l.data());g(),b.enter().append("g").attr("class",function(a,b){return"stack _"+b}),b.each(function(b,c){var d=a.select(this);f(d,c,b)})},l.fadeDeselectedArea=function(){var a=l.chartBodyG().selectAll("rect.bar"),b=l.brush().extent();if(l.isOrdinal())l.hasFilter()?(a.classed(c.constants.SELECTED_CLASS,function(a){return l.hasFilter(a.x)}),a.classed(c.constants.DESELECTED_CLASS,function(a){return!l.hasFilter(a.x)})):(a.classed(c.constants.SELECTED_CLASS,!1),a.classed(c.constants.DESELECTED_CLASS,!1));else if(l.brushIsEmpty(b))a.classed(c.constants.DESELECTED_CLASS,!1);else{var d=b[0],e=b[1];a.classed(c.constants.DESELECTED_CLASS,function(a){return a.x=e})}},l.centerBar=function(a){return arguments.length?(n=a,l):n},c.override(l,"onClick",function(a){l._onClick(a.data)}),l.barPadding=function(a){return arguments.length?(l._rangeBandPadding(a),m=void 0,l):l._rangeBandPadding()},l._useOuterPadding=function(){return void 0===m},l.outerPadding=l._outerRangeBandPadding,l.gap=function(a){return arguments.length?(m=a,l):m},l.extendBrush=function(){var a=l.brush().extent();return!l.round()||n&&!o||(a[0]=a.map(l.round())[0],a[1]=a.map(l.round())[1],l.chartBodyG().select(".brush").call(l.brush().extent(a))),a},l.alwaysUseRounding=function(a){return arguments.length?(o=a,l):o},l.legendHighlight=function(a){l.isLegendableHidden(a)||l.g().selectAll("rect.bar").classed("highlight",h(a.color)).classed("fadeout",h(a.color,!0))},l.legendReset=function(){l.g().selectAll("rect.bar").classed("highlight",!1).classed("fadeout",!1)},c.override(l,"xAxisMax",function(){var a=this._xAxisMax();if("resolution"in l.xUnits()){var b=l.xUnits().resolution;a+=b}return a}),l.anchor(b,d)},c.lineChart=function(b,d){function e(a,b){return z.getColor.call(a,a.values,b)}function f(b,d){var f=a.svg.line().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).interpolate(F).tension(G);r&&f.defined(r);var g=b.append("path").attr("class","line").attr("stroke",e);s&&g.attr("stroke-dasharray",s),c.transition(d.select("path.line"),z.transitionDuration()).attr("stroke",e).attr("d",function(a){return h(f(a.values))})}function g(b,d){if(A){var f=a.svg.area().x(function(a){return z.x()(a.x)}).y(function(a){return z.y()(a.y+a.y0)}).y0(function(a){return z.y()(a.y0)}).interpolate(F).tension(G);r&&f.defined(r),b.append("path").attr("class","area").attr("fill",e).attr("d",function(a){return h(f(a.values))}),c.transition(d.select("path.area"),z.transitionDuration()).attr("fill",e).attr("d",function(a){return h(f(a.values))})}}function h(a){return!a||a.indexOf("NaN")>=0?"M0,0":a}function i(b,d){if(!z.brushOn()&&z.xyTipsOn()){var e=u+"-list",f=b.select("g."+e);f.empty()&&(f=b.append("g").attr("class",e)),d.each(function(b,d){var e=b.values;r&&(e=e.filter(r));var g=f.select("g."+u+"._"+d);g.empty()&&(g=f.append("g").attr("class",u+" _"+d)),j(g);var h=g.selectAll("circle."+v).data(e,c.pluck("x"));h.enter().append("circle").attr("class",v).attr("r",m()).style("fill-opacity",D).style("stroke-opacity",E).on("mousemove",function(){var b=a.select(this);k(b),l(b,g)}).on("mouseout",function(){var b=a.select(this);n(b),o(g)}),h.attr("cx",function(a){return c.utils.safeNumber(z.x()(a.x))}).attr("cy",function(a){return c.utils.safeNumber(z.y()(a.y+a.y0))}).attr("fill",z.getColor).call(p,b),h.exit().remove()})}}function j(a){var b=a.select("path."+w).empty()?a.append("path").attr("class",w):a.select("path."+w);b.style("display","none").attr("stroke-dasharray","5,5");var c=a.select("path."+x).empty()?a.append("path").attr("class",x):a.select("path."+x);c.style("display","none").attr("stroke-dasharray","5,5")}function k(a){return a.style("fill-opacity",.8),a.style("stroke-opacity",.8),a.attr("r",B),a}function l(a,b){var c=a.attr("cx"),d=a.attr("cy"),e=z._yAxisX()-z.margins().left,f="M"+e+" "+d+"L"+c+" "+d,g="M"+c+" "+z.yAxisHeight()+"L"+c+" "+d;b.select("path."+w).style("display","").attr("d",f),b.select("path."+x).style("display","").attr("d",g)}function m(){return C||B}function n(a){a.style("fill-opacity",D).style("stroke-opacity",E).attr("r",m())}function o(a){a.select("path."+w).style("display","none"),a.select("path."+x).style("display","none")}function p(a,b){z.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(c.pluck("data",z.title(b.name))))}function q(b,c,d){return function(){var e=a.select(this),f=e.attr("stroke")===b&&e.attr("stroke-dasharray")===(c instanceof Array?c.join(","):null)||e.attr("fill")===b;return d?!f:f}}var r,s,t=5,u="dc-tooltip",v="dot",w="yRef",x="xRef",y=1e-6,z=c.stackMixin(c.coordinateGridMixin({})),A=!1,B=t,C=null,D=y,E=y,F="linear",G=.7,H=!0;return z.transitionDuration(500),z._rangeBandPadding(1),z.plotData=function(){var a=z.chartBodyG(),b=a.selectAll("g.stack-list");b.empty()&&(b=a.append("g").attr("class","stack-list"));var c=b.selectAll("g.stack").data(z.data()),d=c.enter().append("g").attr("class",function(a,b){return"stack _"+b});f(d,c),g(d,c),i(a,c)},z.interpolate=function(a){return arguments.length?(F=a,z):F},z.tension=function(a){return arguments.length?(G=a,z):G},z.defined=function(a){return arguments.length?(r=a,z):r},z.dashStyle=function(a){return arguments.length?(s=a,z):s},z.renderArea=function(a){return arguments.length?(A=a,z):A},z.xyTipsOn=function(a){return arguments.length?(H=a,z):H},z.dotRadius=function(a){return arguments.length?(B=a,z):B},z.renderDataPoints=function(a){return arguments.length?(a?(D=a.fillOpacity||.8,E=a.strokeOpacity||.8,C=a.radius||2):(D=y,E=y,C=null),z):{fillOpacity:D,strokeOpacity:E,radius:C}},z.legendHighlight=function(a){z.isLegendableHidden(a)||z.g().selectAll("path.line, path.area").classed("highlight",q(a.color,a.dashstyle)).classed("fadeout",q(a.color,a.dashstyle,!0))},z.legendReset=function(){z.g().selectAll("path.line, path.area").classed("highlight",!1).classed("fadeout",!1)},c.override(z,"legendables",function(){var a=z._legendables();return s?a.map(function(a){return a.dashstyle=s,a}):a}),z.anchor(b,d)},c.dataCount=function(b,d){var e=a.format(",d"),f=c.baseMixin({}),g={some:"",all:""};return f.html=function(a){return arguments.length?(a.all&&(g.all=a.all),a.some&&(g.some=a.some),f):g},f.formatNumber=function(a){return arguments.length?(e=a,f):e},f._doRender=function(){var a=f.dimension().size(),b=f.group().value(),c=e(a),d=e(b);return a===b&&""!==g.all?f.root().html(g.all.replace("%total-count",c).replace("%filter-count",d)):""!==g.some?f.root().html(g.some.replace("%total-count",c).replace("%filter-count",d)):(f.selectAll(".total-count").text(c),f.selectAll(".filter-count").text(d)),f},f._doRedraw=function(){return f._doRender()},f.anchor(b,d)},c.dataTable=function(b,d){function e(){var a=!0;if(o.forEach(function(b){a&="function"==typeof b}),!a){m.selectAll("th").remove();var b=m.root().selectAll("th").data(o),c=b.enter().append("th");c.attr("class",l).html(function(a){return m._doColumnHeaderFormat(a)})}var d=m.root().selectAll("tbody").data(f(),function(a){return m.keyAccessor()(a)}),e=d.enter().append("tbody");return r===!0&&e.append("tr").attr("class",k).append("td").attr("class",h).attr("colspan",o.length).html(function(a){return m.keyAccessor()(a)}),d.exit().remove(),e}function f(){var b;return b=q===a.ascending?m.dimension().bottom(n):m.dimension().top(n),a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}))}function g(a){var b=a.order().selectAll("tr."+i).data(function(a){return a.values}),c=b.enter().append("tr").attr("class",i);return o.forEach(function(a,b){c.append("td").attr("class",j+" _"+b).html(function(b){return m._doColumnValueFormat(a,b)})}),b.exit().remove(),b}var h="dc-table-label",i="dc-table-row",j="dc-table-column",k="dc-table-group",l="dc-table-head",m=c.baseMixin({}),n=25,o=[],p=function(a){return a},q=a.ascending,r=!0;return m._doRender=function(){return m.selectAll("tbody").remove(),g(e()),m},m._doColumnValueFormat=function(a,b){return"function"==typeof a?a(b):"string"==typeof a?b[a]:a.format(b)},m._doColumnHeaderFormat=function(a){return"function"==typeof a?m._doColumnHeaderFnToString(a):"string"==typeof a?m._doColumnHeaderCapitalize(a):String(a.label)},m._doColumnHeaderCapitalize=function(a){return a.charAt(0).toUpperCase()+a.slice(1)},m._doColumnHeaderFnToString=function(a){var b=String(a),c=b.indexOf("return ");if(c>=0){var d=b.lastIndexOf(";");if(d>=0){b=b.substring(c+7,d);var e=b.indexOf("numberFormat");e>=0&&(b=b.replace("numberFormat",""))}}return b},m._doRedraw=function(){return m._doRender()},m.size=function(a){return arguments.length?(n=a,m):n},m.columns=function(a){return arguments.length?(o=a,m):o},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.showGroups=function(a){return arguments.length?(r=a,m):!0},m.anchor(b,d)},c.dataGrid=function(b,d){function e(){var a=m.root().selectAll("div."+l).data(f(),function(a){return m.keyAccessor()(a)}),b=a.enter().append("div").attr("class",l);return s&&b.html(function(a){return s(a)}),a.exit().remove(),b}function f(){var b=m.dimension().top(n);return a.nest().key(m.group()).sortKeys(q).entries(b.sort(function(a,b){return q(p(a),p(b))}).slice(r,h))}function g(a){var b=a.order().selectAll("div."+j).data(function(a){return a.values});return b.enter().append("div").attr("class",j).html(function(a){return o(a)}),b.exit().remove(),b}var h,i="dc-grid-label",j="dc-grid-item",k="dc-grid-group",l="dc-grid-top",m=c.baseMixin({}),n=999,o=function(a){return"you need to provide an html() handling param: "+JSON.stringify(a)},p=function(a){return a},q=a.ascending,r=0,s=function(a){return"

    "+m.keyAccessor()(a)+"

    "};return m._doRender=function(){return m.selectAll("div."+l).remove(),g(e()),m},m._doRedraw=function(){return m._doRender()},m.beginSlice=function(a){return arguments.length?(r=a,m):r},m.endSlice=function(a){return arguments.length?(h=a,m):h},m.size=function(a){return arguments.length?(n=a,m):n},m.html=function(a){return arguments.length?(o=a,m):o},m.htmlGroup=function(a){return arguments.length?(s=a,m):s},m.sortBy=function(a){return arguments.length?(p=a,m):p},m.order=function(a){return arguments.length?(q=a,m):q},m.anchor(b,d)},c.bubbleChart=function(a,b){function d(a){var b=a.enter().append("g");b.attr("class",i.BUBBLE_NODE_CLASS).attr("transform",k).append("circle").attr("class",function(a,b){return i.BUBBLE_CLASS+" _"+b}).on("click",i.onClick).attr("fill",i.getColor).attr("r",0),c.transition(a,i.transitionDuration()).selectAll("circle."+i.BUBBLE_CLASS).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i._doRenderLabel(b),i._doRenderTitles(b)}function e(a){c.transition(a,i.transitionDuration()).attr("transform",k).selectAll("circle."+i.BUBBLE_CLASS).attr("fill",i.getColor).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i.doUpdateLabels(a),i.doUpdateTitles(a)}function f(a){a.exit().remove()}function g(a){var b=i.x()(i.keyAccessor()(a));return isNaN(b)&&(b=0),b}function h(a){var b=i.y()(i.valueAccessor()(a));return isNaN(b)&&(b=0),b}var i=c.bubbleMixin(c.coordinateGridMixin({})),j=!1;i.transitionDuration(750);var k=function(a){return"translate("+g(a)+","+h(a)+")"};return i.elasticRadius=function(a){return arguments.length?(j=a,i):j},i.plotData=function(){j&&i.r().domain([i.rMin(),i.rMax()]),i.r().range([i.MIN_RADIUS,i.xAxisLength()*i.maxBubbleRelativeSize()]);var a=i.chartBodyG().selectAll("g."+i.BUBBLE_NODE_CLASS).data(i.data(),function(a){return a.key});d(a),e(a),f(a),i.fadeDeselectedArea()},i.renderBrush=function(){},i.redrawBrush=function(){i.fadeDeselectedArea()},i.anchor(a,b)},c.compositeChart=function(b,d){function e(){(void 0===u.rightY()||u.elasticY())&&(void 0===u.rightY()&&u.rightY(a.scale.linear()),u.rightY().domain([l(),o()]).rangeRound([u.yAxisHeight(),0])),u.rightY().range([u.yAxisHeight(),0]),u.rightYAxis(u.rightYAxis().scale(u.rightY())),u.rightYAxis().orient("right")}function f(){(void 0===u.y()||u.elasticY())&&(void 0===u.y()&&u.y(a.scale.linear()),u.y().domain([k(),n()]).rangeRound([u.yAxisHeight(),0])),u.y().range([u.yAxisHeight(),0]),u.yAxis(u.yAxis().scale(u.y())),u.yAxis().orient("left")}function g(a,b){a._generateG(u.g()),a.g().attr("class",s+" _"+b)}function h(){return v.filter(function(a){return!a.useRightYAxis()})}function i(){return v.filter(function(a){return a.useRightYAxis()})}function j(a){return a.map(function(a){return a.yAxisMin()})}function k(){return a.min(j(h()))}function l(){return a.min(j(i()))}function m(a){return a.map(function(a){return a.yAxisMax()})}function n(){return c.utils.add(a.max(m(h())),u.yAxisPadding())}function o(){return c.utils.add(a.max(m(i())),u.yAxisPadding())}function p(){return v.map(function(a){return a.xAxisMin()})}function q(){return v.map(function(a){return a.xAxisMax()})}var r,s="sub",t=12,u=c.coordinateGridMixin({}),v=[],w={},x=!1,y=!0,z=a.svg.axis(),A=0,B=t,C=!1;return u._mandatoryAttributes([]),u.transitionDuration(500),c.override(u,"_generateG",function(){for(var a=this.__generateG(),b=0;b0&&!C?u._renderHorizontalGridLinesForAxis(u.g(),u.y(),u.yAxis()):i().length>0&&u._renderHorizontalGridLinesForAxis(u.g(),r,z)},u.renderYAxis=function(){0!==h().length&&(u.renderYAxisAt("y",u.yAxis(),u.margins().left),u.renderYAxisLabel("y",u.yAxisLabel(),-90)),0!==i().length&&(u.renderYAxisAt("yr",u.rightYAxis(),u.width()-u.margins().right),u.renderYAxisLabel("yr",u.rightYAxisLabel(),90,u.width()-B))},u.plotData=function(){for(var a=0;a0&&(b[0]=0),t=a.scale.linear().domain(b).range([0,G.effectiveWidth()])}H.scale(t)}function f(){var a=s.select("g.axis");e(),a.empty()&&(a=s.append("g").attr("class","axis").attr("transform","translate(0, "+G.effectiveHeight()+")")),c.transition(a,G.transitionDuration()).call(H)}function g(){s.selectAll("g.tick").select("line.grid-line").remove(),s.selectAll("g.tick").append("line").attr("class","grid-line").attr("x1",0).attr("y1",0).attr("x2",0).attr("y2",function(){return-G.effectiveHeight()})}function h(){v=G.data(),f(),g();var a=s.selectAll("g."+D).data(v);i(a),j(a),l(a)}function i(a){var b=a.enter().append("g").attr("class",function(a,b){return D+" _"+b});b.append("rect").attr("width",0),n(b),o(a)}function j(a){a.exit().remove()}function k(){var a=t(0);return a===-(1/0)||a!==a?t(1):a}function l(a){var b,d=v.length;b=C?C:(G.effectiveHeight()-(d+1)*B)/d,y||(x=b/2);var e=a.attr("transform",function(a,c){return"translate(0,"+((c+1)*B+c*b)+")"}).select("rect").attr("height",b).attr("fill",G.getColor).on("click",p).classed("deselected",function(a){return G.hasFilter()?!r(a):!1}).classed("selected",function(a){return G.hasFilter()?r(a):!1});c.transition(e,G.transitionDuration()).attr("width",function(a){return Math.abs(k()-t(G.valueAccessor()(a)))}).attr("transform",q),m(a),o(a)}function m(a){G.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(G.title()))}function n(a){G.renderLabel()&&a.append("text").on("click",p),G.renderTitleLabel()&&a.append("text").attr("class",E).on("click",p)}function o(a){if(G.renderLabel()){var b=a.select("text").attr("x",w).attr("y",x).attr("dy",z).on("click",p).attr("class",function(a,b){return D+" _"+b}).text(function(a){return G.label()(a)});c.transition(b,G.transitionDuration()).attr("transform",q)}if(G.renderTitleLabel()){var d=a.select("."+E).attr("x",G.effectiveWidth()-A).attr("y",x).attr("text-anchor","end").on("click",p).attr("class",function(a,b){return E+" _"+b}).text(function(a){return G.title()(a)});c.transition(d,G.transitionDuration()).attr("transform",q)}}function p(a){G.onClick(a)}function q(a){var b=t(G.cappedValueAccessor(a)),c=k(),d=b>c?c:b;return"translate("+d+",0)"}function r(a){return G.hasFilter(G.cappedKeyAccessor(a))}var s,t,u,v,w=10,x=15,y=!1,z="0.35em",A=2,B=5,C=!1,D="row",E="titlerow",F=!1,G=c.capMixin(c.marginMixin(c.colorMixin(c.baseMixin({})))),H=a.svg.axis().orient("bottom");return G.rowsCap=G.cap,G._doRender=function(){return G.resetSvg(),s=G.svg().append("g").attr("transform","translate("+G.margins().left+","+G.margins().top+")"),h(),G},G.title(function(a){return G.cappedKeyAccessor(a)+": "+G.cappedValueAccessor(a)}),G.label(G.cappedKeyAccessor),G.x=function(a){return arguments.length?(t=a,G):t},G.renderTitleLabel=function(a){return arguments.length?(F=a,G):F},G._doRedraw=function(){return h(),G},G.xAxis=function(){return H},G.fixedBarHeight=function(a){return arguments.length?(C=a,G):C},G.gap=function(a){return arguments.length?(B=a,G):B},G.elasticX=function(a){return arguments.length?(u=a,G):u},G.labelOffsetX=function(a){return arguments.length?(w=a,G):w},G.labelOffsetY=function(a){return arguments.length?(x=a,y=!0,G):x},G.titleLabelOffsetX=function(a){return arguments.length?(A=a,G):A},G.anchor(b,d)},c.legend=function(){function a(){return j+i}var b,d,e=2,f={},g=0,h=0,i=12,j=5,k=!1,l=560,m=70,n=!1;return f.parent=function(a){return arguments.length?(b=a,f):b},f.render=function(){b.svg().select("g.dc-legend").remove(),d=b.svg().append("g").attr("class","dc-legend").attr("transform","translate("+g+","+h+")");var f=b.legendables(),o=d.selectAll("g.dc-legend-item").data(f).enter().append("g").attr("class","dc-legend-item").on("mouseover",function(a){b.legendHighlight(a)}).on("mouseout",function(a){b.legendReset(a)}).on("click",function(a){a.chart.legendToggle(a)});d.selectAll("g.dc-legend-item").classed("fadeout",function(a){return a.chart.isLegendableHidden(a)}),f.some(c.pluck("dashstyle"))?o.append("line").attr("x1",0).attr("y1",i/2).attr("x2",i).attr("y2",i/2).attr("stroke-width",2).attr("stroke-dasharray",c.pluck("dashstyle")).attr("stroke",c.pluck("color")):o.append("rect").attr("width",i).attr("height",i).attr("fill",function(a){return a?a.color:"blue"}),o.append("text").text(c.pluck("name")).attr("x",i+e).attr("y",function(){return i/2+(this.clientHeight?this.clientHeight:13)/2-2});var p=0,q=0;o.attr("transform",function(b,c){if(k){var d="translate("+p+","+q*a()+")",e=n===!0?this.getBBox().width+j:m;return p+e>=l?(++q,p=0):p+=e,d}return"translate(0,"+c*a()+")"})},f.x=function(a){return arguments.length?(g=a,f):g},f.y=function(a){return arguments.length?(h=a,f):h},f.gap=function(a){return arguments.length?(j=a,f):j},f.itemHeight=function(a){return arguments.length?(i=a,f):i},f.horizontal=function(a){return arguments.length?(k=a,f):k},f.legendWidth=function(a){return arguments.length?(l=a,f):l},f.itemWidth=function(a){return arguments.length?(m=a,f):m},f.autoItemWidth=function(a){return arguments.length?(n=a,f):n},f},c.scatterPlot=function(b,d){function e(b,d){var e=g.selectAll(".chart-body path.symbol").filter(function(){return b(a.select(this))}),f=h.size();h.size(Math.pow(d,2)),c.transition(e,g.transitionDuration()).attr("d",h),h.size(f)}function f(a){var b=g.selectAll(".chart-body path.symbol").each(function(b){this.filtered=a&&a.isFiltered(b.key)});c.transition(b,g.transitionDuration()).attr("d",h)}var g=c.coordinateGridMixin({}),h=a.svg.symbol(),i=function(a){return a.value},j=g.keyAccessor();g.keyAccessor(function(a){return j(a)[0]}),g.valueAccessor(function(a){return j(a)[1]}),g.colorAccessor(function(){return g._groupName});var k=function(a){return"translate("+g.x()(g.keyAccessor()(a))+","+g.y()(g.valueAccessor()(a))+")"},l=3,m=5,n=0;return h.size(function(a){return i(a)?this.filtered?Math.pow(m,2):Math.pow(l,2):n}),c.override(g,"_filter",function(a){return arguments.length?g.__filter(c.filters.RangedTwoDimensionalFilter(a)):g.__filter()}),g.plotData=function(){var a=g.chartBodyG().selectAll("path.symbol").data(g.data());a.enter().append("path").attr("class","symbol").attr("opacity",0).attr("fill",g.getColor).attr("transform",k),c.transition(a,g.transitionDuration()).attr("opacity",function(a){return i(a)?1:0}).attr("fill",g.getColor).attr("transform",k).attr("d",h),c.transition(a.exit(),g.transitionDuration()).attr("opacity",0).remove()},g.existenceAccessor=function(a){return arguments.length?(i=a,this):i},g.symbol=function(a){return arguments.length?(h.type(a),g):h.type()},g.symbolSize=function(a){return arguments.length?(l=a, +g):l},g.highlightedSize=function(a){return arguments.length?(m=a,g):m},g.hiddenSize=function(a){return arguments.length?(n=a,g):n},g.legendables=function(){return[{chart:g,name:g._groupName,color:g.getColor()}]},g.legendHighlight=function(b){e(function(a){return a.attr("fill")===b.color},m),g.selectAll(".chart-body path.symbol").filter(function(){return a.select(this).attr("fill")!==b.color}).classed("fadeout",!0)},g.legendReset=function(b){e(function(a){return a.attr("fill")===b.color},l),g.selectAll(".chart-body path.symbol").filter(function(){return a.select(this).attr("fill")!==b.color}).classed("fadeout",!1)},g.setHandlePaths=function(){},g.extendBrush=function(){var a=g.brush().extent();return g.round()&&(a[0]=a[0].map(g.round()),a[1]=a[1].map(g.round()),g.g().select(".brush").call(g.brush().extent(a))),a},g.brushIsEmpty=function(a){return g.brush().empty()||!a||a[0][0]>=a[1][0]||a[0][1]>=a[1][1]},g._brushing=function(){var a=g.extendBrush();if(g.redrawBrush(g.g()),g.brushIsEmpty(a))c.events.trigger(function(){g.filter(null),g.redrawGroup()}),f(!1);else{var b=c.filters.RangedTwoDimensionalFilter(a);c.events.trigger(function(){g.filter(null),g.filter(b),g.redrawGroup()},c.constants.EVENT_DELAY),f(b)}},g.setBrushY=function(a){a.call(g.brush().y(g.y()))},g.anchor(b,d)},c.numberDisplay=function(b,d){var e="number-display",f=a.format(".2s"),g=c.baseMixin({}),h={one:"",some:"",none:""};return g._mandatoryAttributes(["group"]),g.html=function(a){return arguments.length?(a.none?h.none=a.none:a.one?h.none=a.one:a.some&&(h.none=a.some),a.one?h.one=a.one:a.some&&(h.one=a.some),a.some?h.some=a.some:a.one&&(h.some=a.one),g):h},g.value=function(){return g.data()},g.data(function(a){var b=a.value?a.value():a.top(1)[0];return g.valueAccessor()(b)}),g.transitionDuration(250),g._doRender=function(){var b=g.value(),c=g.selectAll("."+e);c.empty()&&(c=c.data([0]).enter().append("span").attr("class",e)),c.transition().duration(g.transitionDuration()).ease("quad-out-in").tween("text",function(){var c=a.interpolateNumber(this.lastValue||0,b);return this.lastValue=b,function(a){var d=null,e=g.formatNumber()(c(a));0===b&&""!==h.none?d=h.none:1===b&&""!==h.one?d=h.one:""!==h.some&&(d=h.some),this.innerHTML=d?d.replace("%number",e):e}})},g._doRedraw=function(){return g._doRender()},g.formatNumber=function(a){return arguments.length?(f=a,g):f},g.anchor(b,d)},c.heatMap=function(b,d){function e(a,b){var d=p.selectAll(".box-group").filter(function(c){return c.key[a]===b}),e=d.filter(function(a){return!p.hasFilter(a.key)});c.events.trigger(function(){e.empty()?d.each(function(a){p.filter(a.key)}):e.each(function(a){p.filter(a.key)}),p.redrawGroup()})}var f,g,h,i=6.75,j=a.ascending,k=a.ascending,l=a.scale.ordinal(),m=a.scale.ordinal(),n=i,o=i,p=c.colorMixin(c.marginMixin(c.baseMixin({})));p._mandatoryAttributes(["group"]),p.title(p.colorAccessor());var q=function(a){return a},r=function(a){return a};p.colsLabel=function(a){return arguments.length?(q=a,p):q},p.rowsLabel=function(a){return arguments.length?(r=a,p):r};var s=function(a){e(0,a)},t=function(a){e(1,a)},u=function(a){var b=a.key;c.events.trigger(function(){p.filter(b),p.redrawGroup()})};return c.override(p,"filter",function(a){return arguments.length?p._filter(c.filters.TwoDimensionalFilter(a)):p._filter()}),p.rows=function(a){return arguments.length?(h=a,p):h},p.rowOrdering=function(a){return arguments.length?(k=a,p):k},p.cols=function(a){return arguments.length?(g=a,p):g},p.colOrdering=function(a){return arguments.length?(j=a,p):j},p._doRender=function(){return p.resetSvg(),f=p.svg().append("g").attr("class","heatmap").attr("transform","translate("+p.margins().left+","+p.margins().top+")"),p._doRedraw()},p._doRedraw=function(){var a=p.data(),b=p.rows()||a.map(p.valueAccessor()),d=p.cols()||a.map(p.keyAccessor());k&&(b=b.sort(k)),j&&(d=d.sort(j)),b=m.domain(b),d=l.domain(d);var e=b.domain().length,g=d.domain().length,h=Math.floor(p.effectiveWidth()/g),i=Math.floor(p.effectiveHeight()/e);d.rangeRoundBands([0,p.effectiveWidth()]),b.rangeRoundBands([p.effectiveHeight(),0]);var q=f.selectAll("g.box-group").data(p.data(),function(a,b){return p.keyAccessor()(a,b)+"\x00"+p.valueAccessor()(a,b)}),r=q.enter().append("g").attr("class","box-group");r.append("rect").attr("class","heat-box").attr("fill","white").on("click",p.boxOnClick()),p.renderTitle()&&(r.append("title"),q.selectAll("title").text(p.title())),c.transition(q.selectAll("rect"),p.transitionDuration()).attr("x",function(a,b){return d(p.keyAccessor()(a,b))}).attr("y",function(a,c){return b(p.valueAccessor()(a,c))}).attr("rx",n).attr("ry",o).attr("fill",p.getColor).attr("width",h).attr("height",i),q.exit().remove();var s=f.selectAll("g.cols");s.empty()&&(s=f.append("g").attr("class","cols axis"));var t=s.selectAll("text").data(d.domain());t.enter().append("text").attr("x",function(a){return d(a)+h/2}).style("text-anchor","middle").attr("y",p.effectiveHeight()).attr("dy",12).on("click",p.xAxisOnClick()).text(p.colsLabel()),c.transition(t,p.transitionDuration()).text(p.colsLabel()).attr("x",function(a){return d(a)+h/2}),t.exit().remove();var u=f.selectAll("g.rows");u.empty()&&(u=f.append("g").attr("class","rows axis"));var v=u.selectAll("text").data(b.domain());return v.enter().append("text").attr("dy",6).style("text-anchor","end").attr("x",0).attr("dx",-2).on("click",p.yAxisOnClick()).text(p.rowsLabel()),c.transition(v,p.transitionDuration()).text(p.rowsLabel()).attr("y",function(a){return b(a)+i/2}),v.exit().remove(),p.hasFilter()?p.selectAll("g.box-group").each(function(a){p.isSelectedNode(a)?p.highlightSelected(this):p.fadeDeselected(this)}):p.selectAll("g.box-group").each(function(){p.resetHighlight(this)}),p},p.boxOnClick=function(a){return arguments.length?(u=a,p):u},p.xAxisOnClick=function(a){return arguments.length?(s=a,p):s},p.yAxisOnClick=function(a){return arguments.length?(t=a,p):t},p.xBorderRadius=function(a){return arguments.length?(n=a,p):n},p.yBorderRadius=function(a){return arguments.length?(o=a,p):o},p.isSelectedNode=function(a){return p.hasFilter(a.key)},p.anchor(b,d)},function(){function b(a){return[0,a.length-1]}function c(b){return[a.quantile(b,.25),a.quantile(b,.5),a.quantile(b,.75)]}a.box=function(){function d(b){b.each(function(b,c){b=b.map(i).sort(a.ascending);var d=a.select(this),m=b.length,n=b[0],o=b[m-1],p=b.quartiles=k(b),q=j&&j.call(this,b,c),r=q&&q.map(function(a){return b[a]}),s=q?a.range(0,q[0]).concat(a.range(q[1]+1,m)):a.range(m),t=a.scale.linear().domain(h&&h.call(this,b,c)||[n,o]).range([f,0]),u=this.__chart__||a.scale.linear().domain([0,1/0]).range(t.range());this.__chart__=t;var v=d.selectAll("line.center").data(r?[r]:[]);v.enter().insert("line","rect").attr("class","center").attr("x1",e/2).attr("y1",function(a){return u(a[0])}).attr("x2",e/2).attr("y2",function(a){return u(a[1])}).style("opacity",1e-6).transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.transition().duration(g).style("opacity",1).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}),v.exit().transition().duration(g).style("opacity",1e-6).attr("y1",function(a){return t(a[0])}).attr("y2",function(a){return t(a[1])}).remove();var w=d.selectAll("rect.box").data([p]);w.enter().append("rect").attr("class","box").attr("x",0).attr("y",function(a){return u(a[2])}).attr("width",e).attr("height",function(a){return u(a[0])-u(a[2])}).transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])}),w.transition().duration(g).attr("y",function(a){return t(a[2])}).attr("height",function(a){return t(a[0])-t(a[2])});var x=d.selectAll("line.median").data([p[1]]);x.enter().append("line").attr("class","median").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).transition().duration(g).attr("y1",t).attr("y2",t),x.transition().duration(g).attr("y1",t).attr("y2",t);var y=d.selectAll("line.whisker").data(r||[]);y.enter().insert("line","circle, text").attr("class","whisker").attr("x1",0).attr("y1",u).attr("x2",e).attr("y2",u).style("opacity",1e-6).transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1),y.exit().transition().duration(g).attr("y1",t).attr("y2",t).style("opacity",1e-6).remove();var z=d.selectAll("circle.outlier").data(s,Number);z.enter().insert("circle","text").attr("class","outlier").attr("r",5).attr("cx",e/2).attr("cy",function(a){return u(b[a])}).style("opacity",1e-6).transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1),z.exit().transition().duration(g).attr("cy",function(a){return t(b[a])}).style("opacity",1e-6).remove();var A=l||t.tickFormat(8),B=d.selectAll("text.box").data(p);B.enter().append("text").attr("class","box").attr("dy",".3em").attr("dx",function(a,b){return 1&b?6:-6}).attr("x",function(a,b){return 1&b?e:0}).attr("y",u).attr("text-anchor",function(a,b){return 1&b?"start":"end"}).text(A).transition().duration(g).attr("y",t),B.transition().duration(g).text(A).attr("y",t);var C=d.selectAll("text.whisker").data(r||[]);C.enter().append("text").attr("class","whisker").attr("dy",".3em").attr("dx",6).attr("x",e).attr("y",u).text(A).style("opacity",1e-6).transition().duration(g).attr("y",t).style("opacity",1),C.transition().duration(g).text(A).attr("y",t).style("opacity",1),C.exit().transition().duration(g).attr("y",t).style("opacity",1e-6).remove()}),a.timer.flush()}var e=1,f=1,g=0,h=null,i=Number,j=b,k=c,l=null;return d.width=function(a){return arguments.length?(e=a,d):e},d.height=function(a){return arguments.length?(f=a,d):f},d.tickFormat=function(a){return arguments.length?(l=a,d):l},d.duration=function(a){return arguments.length?(g=a,d):g},d.domain=function(b){return arguments.length?(h=null===b?b:a.functor(b),d):h},d.value=function(a){return arguments.length?(i=a,d):i},d.whiskers=function(a){return arguments.length?(j=a,d):j},d.quartiles=function(a){return arguments.length?(k=a,d):k},d}}(),c.boxPlot=function(b,d){function e(a){return function(b){for(var c=b.quartiles[0],d=b.quartiles[2],e=(d-c)*a,f=-1,g=b.length;b[++f]d+e;);return[f,g]}}function f(a){var b=a.enter().append("g");b.attr("class","box").attr("transform",p).call(m).on("click",function(a){i.filter(a.key),i.redrawGroup()})}function g(b){c.transition(b,i.transitionDuration()).attr("transform",p).call(m).each(function(){a.select(this).select("rect.box").attr("fill",i.getColor)})}function h(a){a.exit().remove().call(m)}var i=c.coordinateGridMixin({}),j=1.5,k=e,l=k(j),m=a.box(),n=null,o=function(a,b){return i.isOrdinal()?i.x().rangeBand():a/(1+i.boxPadding())/b};i.yAxisPadding(12),i.x(a.scale.ordinal()),i.xUnits(c.units.ordinal),i.data(function(a){return a.all().map(function(a){return a.map=function(b){return b.call(a,a)},a}).filter(function(a){var b=i.valueAccessor()(a);return 0!==b.length})}),i.boxPadding=i._rangeBandPadding,i.boxPadding(.8),i.outerPadding=i._outerRangeBandPadding,i.outerPadding(.5),i.boxWidth=function(b){return arguments.length?(o=a.functor(b),i):o};var p=function(a,b){var c=i.x()(i.keyAccessor()(a,b));return"translate("+c+", 0)"};return i._preprocessData=function(){i.elasticX()&&i.x().domain([])},i.plotData=function(){var a=o(i.effectiveWidth(),i.xUnitCount());m.whiskers(l).width(a).height(i.effectiveHeight()).value(i.valueAccessor()).domain(i.y().domain()).duration(i.transitionDuration()).tickFormat(n);var b=i.chartBodyG().selectAll("g.box").data(i.data(),function(a){return a.key});f(b),g(b),h(b),i.fadeDeselectedArea()},i.fadeDeselectedArea=function(){i.hasFilter()?i.g().selectAll("g.box").each(function(a){i.isSelectedNode(a)?i.highlightSelected(this):i.fadeDeselected(this)}):i.g().selectAll("g.box").each(function(){i.resetHighlight(this)})},i.isSelectedNode=function(a){return i.hasFilter(a.key)},i.yAxisMin=function(){var b=a.min(i.data(),function(b){return a.min(i.valueAccessor()(b))});return c.utils.subtract(b,i.yAxisPadding())},i.yAxisMax=function(){var b=a.max(i.data(),function(b){return a.max(i.valueAccessor()(b))});return c.utils.add(b,i.yAxisPadding())},i.tickFormat=function(a){return arguments.length?(n=a,i):n},i.anchor(b,d)},c.selectMenu=function(b,d){function e(){var a=h.selectAll("option."+j).data(k.data(),function(a){return k.keyAccessor()(a)});return a.enter().append("option").classed(j,!0).attr("value",function(a){return k.keyAccessor()(a)}),a.text(k.title()),a.exit().remove(),h.selectAll("option."+j).sort(o),h.on("change",f),a}function f(b,c){var d=Array.prototype.slice.call(a.event.target.selectedOptions),e=d.map(function(a){return a.value});1===e.length&&""===e[0]?e=null:1===e.length&&(e=e[0]),k.onChange(e)}function g(){m?h.attr("multiple",!0):h.attr("multiple",null),null!==n?h.attr("size",n):h.attr("size",null)}var h,i="dc-select-menu",j="dc-select-option",k=c.baseMixin({}),l="Select all",m=!1,n=null,o=function(a,b){return k.keyAccessor()(a)>k.keyAccessor()(b)?1:k.keyAccessor()(b)>k.keyAccessor()(a)?-1:0},p=function(a){return k.valueAccessor()(a)>0};return k.data(function(a){return a.all().filter(p)}),k._doRender=function(){return k.select("select").remove(),h=k.root().append("select").classed(i,!0),g(),h.append("option").text(l).attr("value",""),e(),k},k._doRedraw=function(){return g(),e(),k.hasFilter()&&m?h.selectAll("option").filter(function(a){return a&&k.filters().indexOf(String(k.keyAccessor()(a)))>=0}).property("selected",!0):k.hasFilter()?h.property("value",k.filter()):h.property("value",""),k},k.onChange=function(a){a&&m?k.replaceFilter([a]):a?k.replaceFilter(a):k.filterAll(),c.events.trigger(function(){k.redrawGroup()})},k.order=function(a){return arguments.length?(o=a,k):o},k.promptText=function(a){return arguments.length?(l=a,k):l},k.filterDisplayed=function(a){return arguments.length?(p=a,k):p},k.multiple=function(a){return arguments.length?(m=a,k):m},k.size=function(a){return arguments.length?(n=a,k):n},k.anchor(b,d)},c.abstractBubbleChart=c.bubbleMixin,c.baseChart=c.baseMixin,c.capped=c.capMixin,c.colorChart=c.colorMixin,c.coordinateGridChart=c.coordinateGridMixin,c.marginable=c.marginMixin,c.stackableChart=c.stackMixin,c.d3=a,c.crossfilter=b,c}if("function"==typeof define&&define.amd)define(["d3","crossfilter"],a);else if("object"==typeof module&&module.exports){var b=require("d3"),c=require("crossfilter");"function"!=typeof c&&(c=c.crossfilter),module.exports=a(b,c)}else this.dc=a(d3,crossfilter)}(); //# sourceMappingURL=dc.min.js.map \ No newline at end of file diff --git a/web/js/dc.min.js.map b/web/js/dc.min.js.map index 7fb8e5121..95a9ef337 100644 --- a/web/js/dc.min.js.map +++ b/web/js/dc.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dc.min.js","sources":["dc.js"],"names":["_dc","d3","crossfilter","dc","version","constants","CHART_CLASS","DEBUG_GROUP_CLASS","STACK_CLASS","DESELECTED_CLASS","SELECTED_CLASS","NODE_INDEX_NAME","GROUP_INDEX_NAME","DEFAULT_CHART_GROUP","EVENT_DELAY","NEGLIGIBLE_NUMBER","_renderlet","chartRegistry","initializeChartGroup","group","_chartMap","has","chart","e","indexOf","register","push","deregister","i","length","anchorName","splice","clear","list","registerChart","deregisterChart","hasChart","deregisterAllCharts","filterAll","charts","refocusAll","focus","renderAll","render","redrawAll","redraw","disableTransitions","transition","selections","duration","callback","name","undefined","s","optionalTransition","enable","selection","units","integers","Math","abs","ordinal","domain","fp","precision","_f","d","resolution","utils","isNegligible","floor","ceil","round","n","override","obj","functionName","newFunction","existingFunction","renderlet","_","arguments","instanceOfChart","o","Object","__dcFlag__","errors","Exception","msg","_msg","this","message","toString","InvalidStateException","apply","dateFormat","time","format","printers","filters","filter","Array","printSingleValue","pluck","f","call","Date","isFloat","fformat","isInteger","add","l","r","replace","setTime","getTime","setDate","getDate","percentage","subtract","isNumber","clamp","val","min","max","_idCounter","uniqueId","nameToId","toLowerCase","appendOrSelect","parent","selector","tag","element","select","empty","append","safeNumber","logger","enableDebugLog","warn","console","log","debug","deprecate","fn","deprecated","warned","events","current","trigger","closure","delay","setTimeout","RangedFilter","low","high","range","isFiltered","value","TwoDimensionalFilter","array","RangedTwoDimensionalFilter","fromBottomLeft","x","y","baseMixin","_chart","sizeSvg","_svg","attr","width","height","generateSvg","root","checkForMandatoryAttributes","a","applyFilters","dimension","fs","_filterHandler","_filters","_dimension","_group","_anchor","_root","_isChild","_orderSort","_legend","_minWidth","_defaultWidth","getBoundingClientRect","_width","_minHeight","_defaultHeight","_height","_keyAccessor","_valueAccessor","_label","_ordering","_renderLabel","_title","keyAccessor","valueAccessor","_renderTitle","_transitionDuration","_filterPrinter","_mandatoryAttributes","_chartGroup","_listeners","dispatch","filterFunction","_data","all","w","functor","node","h","minWidth","minHeight","expireCache","data","g","_groupName","ordering","quicksort","by","_computeOrderedGroups","dataCopy","slice","selectAll","anchor","chartGroup","classed","id","chartID","svg","resetSvg","remove","filterPrinter","turnOnControls","style","text","turnOffControls","transitionDuration","preRender","forEach","result","_doRender","_activateRenderlets","event","pretransition","each","preRedraw","_doRedraw","redrawGroup","renderGroup","_invokeFilteredListener","filtered","_invokeZoomedListener","zoomed","_hasFilterHandler","some","hasFilterHandler","hasFilter","_removeFilterHandler","removeFilterHandler","_addFilterHandler","addFilterHandler","_resetFilterHandler","resetFilterHandler","replaceFilter","highlightSelected","fadeDeselected","resetHighlight","onClick","filterHandler","legendables","legendHighlight","legendReset","legendToggle","isLegendableHidden","label","renderLabel","title","renderTitle","on","legend","options","opts","applyOptions","listener","marginMixin","_margin","top","right","bottom","left","margins","m","effectiveWidth","effectiveHeight","colorMixin","_colors","scale","category20c","_defaultAccessor","_colorAccessor","colors","quantize","ordinalColors","linearColors","linear","interpolate","interpolateHcl","colorAccessor","defaultColorAccessor","colorDomain","calculateColorDomain","newDomain","getColor","colorCalculator","coordinateGridMixin","zoomHandler","_refocused","_zoomOutRestrict","constrainRange","_xOriginalDomain","_rangeChart","domFilter","rescale","rangesEqual","compareDomains","d1","d2","elem","prepareXAxis","isOrdinal","elasticX","_x","_ordinalXDomain","xAxisMin","xAxisMax","xdom","_lastXDomain","rangeBands","xAxisLength","_rangeBandPadding","_useOuterPadding","_outerRangeBandPadding","_xAxis","renderVerticalGridLines","gridLineG","VERTICAL_CLASS","_renderVerticalGridLine","insert","GRID_LINE_CLASS","ticks","tickValues","lines","linesGEnter","enter","_xAxisY","exit","brushHeight","getClipPathId","generateClipPath","defs","_parent","chartBodyClip","padding","_clipPadding","yAxisHeight","drawChart","_brushOn","_prepareYAxis","plotData","_resizing","renderXAxis","elasticY","renderYAxis","renderBrush","redrawBrush","fadeDeselectedArea","configureMouseZoom","_mouseZoomable","_enableMouseZoom","_hasBeenMouseZoomable","_disableMouseZoom","constraint","constrainedRange","range1","range2","valueOf","hasRangeSelected","HORIZONTAL_CLASS","Y_AXIS_LABEL_CLASS","X_AXIS_LABEL_CLASS","DEFAULT_AXIS_LABEL_PADDING","category10","_g","_chartBodyG","_xAxisLabel","_y","_yAxisLabel","_round","_unitCount","_focusChart","axis","orient","_xUnits","_xAxisPadding","_xElasticity","_xAxisLabelPadding","_yAxis","_yAxisPadding","_yElasticity","_yAxisLabelPadding","_brush","brush","_renderHorizontalGridLine","_zoomScale","_zoom","behavior","zoom","_nullZoom","_useRightYAxis","rangeChart","focusChart","zoomScale","zoomOutRestrict","_generateG","mouseZoomable","z","chartBodyG","xOriginalDomain","xUnits","xAxis","xAxisPadding","xUnitCount","useRightYAxis","groups","map","axisXG","axisXLab","xAxisLabel","yAxisMin","yAxisMax","rangeRound","_renderHorizontalGridLinesForAxis","renderYAxisLabel","axisClass","rotation","labelXPosition","axisYLab","labelYPosition","renderYAxisAt","position","axisYG","axisPosition","_yAxisX","labelPosition","yAxisLabel","yAxis","renderHorizontalGridLines","yAxisPadding","_filter","extent","_brushing","gBrush","setBrushY","setHandlePaths","resizeHandlePath","extendBrush","brushIsEmpty","rangedFilter","doTransition","clipPadding","p","_preprocessData","scaleExtent","size","refocused","c","brushOn","stackMixin","prepareValues","layer","layerIdx","valAccessor","accessor","String","values","hidden","domainFilter","xDomain","findLayerByName","_stack","flattenStack","valueses","prototype","concat","visability","_stackLayout","layout","stack","_titles","_hidableStacks","hidableStacks","hideStack","stackName","showStack","getValueAccessorByIndex","index","y0","titleAccessor","stackLayout","layers","flat","ordered","color","capMixin","_cap","_othersLabel","_othersGrouper","topRows","topRowsSum","sum","allRows","allRowsSum","topKeys","allKeys","topSet","set","others","key","cappedKeyAccessor","cappedValueAccessor","cap","othersLabel","othersGrouper","_onClick","bubbleMixin","_maxBubbleRelativeSize","_minRadiusWithLabel","BUBBLE_NODE_CLASS","BUBBLE_CLASS","MIN_RADIUS","_r","_rValueAccessor","radiusValueAccessor","rMin","rMax","bubbleR","isNaN","labelFunction","labelOpacity","_doRenderLabel","bubbleGEnter","doUpdateLabels","labels","titleFunction","_doRenderTitles","doUpdateTitles","minRadiusWithLabel","maxBubbleRelativeSize","isSelectedNode","pieChart","_radius","_givenRadius","pieData","arc","buildArcs","pie","pieLayout","_emptyCssClass","_emptyTitle","slices","_sliceCssClass","createElements","updateElements","removeElements","highlightFilter","cx","cy","slicesEnter","createSliceNodes","createSlicePath","createTitles","createLabels","slicePath","fill","safeArc","attrTween","tweenPie","positionLabels","labelsEnter","sliceHasNoData","sliceTooSmall","isSelectedSlice","classes","_externalLabelRadius","updateSlicePaths","updateLabels","updateTitles","slicePaths","outerRadius","_externalRadiusPadding","innerRadius","_innerRadius","sort","angle","endAngle","startAngle","_minAngleForLabel","b","_current","isOffCanvas","t","path","centroid","highlightSliceFromLegendable","legendable","highlighted","_cx","_cy","DEFAULT_MIN_ANGLE_FOR_LABEL","slicesCap","externalRadiusPadding","radius","minAngleForLabel","emptyTitle","externalLabels","barChart","barHeight","renderBars","layerIndex","bars","_centerBar","_barWidth","_gap","calculateBarWidth","numberOfBars","rangeBand","barPadding","MIN_BAR_WIDTH","colorFilter","inv","item","match","DEFAULT_GAP_BETWEEN_BARS","_alwaysUseRounding","_rescale","_render","start","end","centerBar","outerPadding","gap","alwaysUseRounding","_xAxisMax","res","lineChart","drawLine","layersEnter","line","_interpolate","tension","_tension","_defined","defined","_dashStyle","safeD","drawArea","_renderArea","area","drawDots","chartBody","xyTipsOn","tooltipListClass","TOOLTIP_G_CLASS","tooltips","points","createRefLines","dots","DOT_CIRCLE_CLASS","getDotRadius","_dataPointFillOpacity","_dataPointStrokeOpacity","dot","showDot","showRefLines","hideDot","hideRefLines","yRefLine","Y_AXIS_REF_LINE_CLASS","xRefLine","X_AXIS_REF_LINE_CLASS","_dotRadius","yAxisX","yAxisRefPathD","xAxisRefPathD","_dataPointRadius","dashstyle","join","DEFAULT_DOT_RADIUS","DEFAULT_DOT_OPACITY","_xyTipsOn","layersList","dashStyle","renderArea","dotRadius","renderDataPoints","fillOpacity","strokeOpacity","_legendables","dataCount","_formatNumber","_html","html","formatNumber","tot","selected","dataTable","renderGroups","bAllFunctions","_columns","headcols","headGroup","HEAD_CSS_CLASS","_doColumnHeaderFormat","nestEntries","rowGroup","_showGroups","GROUP_CSS_CLASS","LABEL_CSS_CLASS","entries","_order","ascending","_size","nest","sortKeys","_sortBy","renderRows","rows","order","ROW_CSS_CLASS","rowEnter","v","COLUMN_CSS_CLASS","_doColumnValueFormat","_doColumnHeaderFnToString","_doColumnHeaderCapitalize","charAt","toUpperCase","i1","i2","lastIndexOf","substring","i3","columns","sortBy","showGroups","dataGrid","GRID_CSS_CLASS","itemGroup","_htmlGroup","_beginSlice","_endSlice","renderItems","items","ITEM_CSS_CLASS","JSON","stringify","beginSlice","endSlice","htmlGroup","bubbleChart","renderNodes","bubbleG","bubbleLocator","updateNodes","removeNodes","bubbleX","bubbleY","_elasticRadius","elasticRadius","compositeChart","prepareRightYAxis","rightY","rightYAxisMin","rightYAxisMax","rightYAxis","prepareLeftYAxis","generateChildG","child","SUB_CHART_CLASS","leftYAxisChildren","_children","rightYAxisChildren","getYAxisMin","getYAxisMax","getAllXAxisMinFromChildCharts","getAllXAxisMaxFromChildCharts","_rightY","DEFAULT_RIGHT_Y_AXIS_LABEL_PADDING","_childOptions","_shareColors","_shareTitle","_rightYAxis","_rightYAxisLabel","_rightYAxisLabelPadding","_rightAxisGridLines","__generateG","rightYAxisLabel","useRightAxisGridLines","childOptions","compose","children","shareColors","shareTitle","reduce","j","seriesChart","keySort","clearChart","_charts","resetChildren","keys","_seriesAccessor","_chartFunction","_seriesSort","_valueSort","childrenChanged","keep","nester","sortValues","nesting","sub","subChart","_compose","seriesAccessor","seriesSort","valueSort","geoChoroplethChart","generateLayeredData","isDataLayer","regionG","renderRegionG","renderPaths","groupAll","geoJson","layerSelector","isSelected","isDeselected","layerNameClass","regionClass","baseClasses","getKey","_geoJsons","paths","currentFill","_projectionFlag","_geoPath","geo","states","selectedRegion","overlayGeoJson","json","projection","geoJsons","geoPath","removeGeoJson","bubbleOverlay","initOverlayG","BUBBLE_OVERLAY_CLASS","initializeBubbles","mapData","_points","point","nodeG","getNodeG","circle","datum","bubbleNodeClass","updateBubbles","flag","debugG","debugText","mouse","rowChart","calculateAxisScale","_elasticX","_rowData","drawAxis","axisG","drawGridLines","_rowCssClass","rootValue","_fixedBarHeight","_hasLabelOffsetY","_labelOffsetY","rect","isSelectedRow","translateX","renderTitleLabel","_titleRowCssClass","lab","_labelOffsetX","_dyOffset","titlelab","_titleLabelOffsetX","x0","_renderTitleLabel","rowsCap","fixedBarHeight","labelOffsetX","labelOffsetY","titleLabelOffsetX","legendItemHeight","_itemHeight","LABEL_GAP","_horizontal","_legendWidth","_itemWidth","_autoItemWidth","itemEnter","clientHeight","_cumulativeLegendTextWidth","row","translateBy","itemWidth","getBBox","itemHeight","horizontal","legendWidth","autoItemWidth","scatterPlot","resizeSymbolsWhere","condition","symbols","oldSize","_symbol","pow","resizeFiltered","symbol","_existenceAccessor","originalKeyAccessor","_locator","_symbolSize","_highlightedSize","_hiddenSize","__filter","existenceAccessor","acc","type","symbolSize","highlightedSize","hiddenSize","ranged2DFilter","numberDisplay","SPAN_CLASS","one","none","valObj","newValue","span","ease","tween","interp","interpolateNumber","lastValue","num","innerHTML","heatMap","filterAxis","cellsOnAxis","unfilteredCellsOnAxis","_chartBody","_cols","_rows","DEFAULT_BORDER_RADIUS","_colOrdering","_rowOrdering","_colScale","_rowScale","_xBorderRadius","_yBorderRadius","_colsLabel","_rowsLabel","colsLabel","rowsLabel","_xAxisOnClick","_yAxisOnClick","_boxOnClick","rowOrdering","cols","colOrdering","rowCount","colCount","boxWidth","boxHeight","rangeRoundBands","boxes","gEnter","boxOnClick","gCols","gColsText","xAxisOnClick","gRows","gRowsText","yAxisOnClick","xBorderRadius","yBorderRadius","boxWhiskers","boxQuartiles","quantile","box","quartileData","quartiles","whiskerIndices","whiskers","whiskerData","outlierIndices","x1","__chart__","center","medianLine","whisker","outlier","Number","tickFormat","boxTick","whiskerTick","timer","flush","boxPlot","DEFAULT_WHISKERS_IQR","k","q1","q3","iqr","renderBoxes","boxesG","boxesGEnter","boxTransform","_box","updateBoxes","removeBoxes","_whiskerIqrFactor","_whiskersIqr","_whiskers","_tickFormat","_boxWidth","innerChartWidth","boxPadding","xOffset","_calculatedBoxWidth","abstractBubbleChart","baseChart","capped","colorChart","coordinateGridChart","marginable","stackableChart","define","amd","module","exports","_d3","require","_crossfilter"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dc.min.js","sources":["dc.js"],"names":["_dc","d3","crossfilter","dc","version","constants","CHART_CLASS","DEBUG_GROUP_CLASS","STACK_CLASS","DESELECTED_CLASS","SELECTED_CLASS","NODE_INDEX_NAME","GROUP_INDEX_NAME","DEFAULT_CHART_GROUP","EVENT_DELAY","NEGLIGIBLE_NUMBER","_renderlet","chartRegistry","initializeChartGroup","group","_chartMap","has","chart","e","indexOf","register","push","deregister","i","length","anchorName","splice","clear","list","registerChart","deregisterChart","hasChart","deregisterAllCharts","filterAll","charts","refocusAll","focus","renderAll","render","redrawAll","redraw","disableTransitions","transition","selections","duration","callback","name","undefined","s","optionalTransition","enable","selection","units","integers","Math","abs","ordinal","domain","fp","precision","_f","d","resolution","utils","isNegligible","floor","ceil","round","n","override","obj","functionName","newFunction","existingFunction","renderlet","_","arguments","instanceOfChart","o","Object","__dcFlag__","errors","Exception","msg","_msg","this","message","toString","InvalidStateException","apply","dateFormat","time","format","printers","filters","filter","Array","printSingleValue","pluck","f","call","Date","isFloat","fformat","isInteger","add","l","r","replace","setTime","getTime","setDate","getDate","percentage","subtract","isNumber","clamp","val","min","max","_idCounter","uniqueId","nameToId","toLowerCase","appendOrSelect","parent","selector","tag","element","select","empty","append","safeNumber","logger","enableDebugLog","warn","console","log","debug","deprecate","fn","deprecated","warned","events","current","trigger","closure","delay","setTimeout","RangedFilter","low","high","range","isFiltered","value","TwoDimensionalFilter","array","RangedTwoDimensionalFilter","fromBottomLeft","Infinity","x","y","baseMixin","_chart","sizeSvg","_svg","attr","width","height","generateSvg","root","checkForMandatoryAttributes","a","applyFilters","dimension","fs","_filterHandler","_filters","_dimension","_group","_anchor","_root","_isChild","_orderSort","_legend","_minWidth","_defaultWidth","getBoundingClientRect","_width","_minHeight","_defaultHeight","_height","_keyAccessor","_valueAccessor","_label","_ordering","_renderLabel","_title","keyAccessor","valueAccessor","_renderTitle","_controlsUseVisibility","_transitionDuration","_filterPrinter","_mandatoryAttributes","_chartGroup","_listeners","dispatch","filterFunction","_data","all","w","functor","node","h","minWidth","minHeight","expireCache","data","g","_groupName","ordering","quicksort","by","_computeOrderedGroups","dataCopy","slice","selectAll","anchor","chartGroup","classed","id","chartID","svg","resetSvg","remove","filterPrinter","controlsUseVisibility","turnOnControls","attribute","style","text","turnOffControls","transitionDuration","preRender","forEach","result","_doRender","_activateRenderlets","event","pretransition","each","preRedraw","_doRedraw","redrawGroup","renderGroup","_invokeFilteredListener","filtered","_invokeZoomedListener","zoomed","_hasFilterHandler","some","hasFilterHandler","hasFilter","_removeFilterHandler","removeFilterHandler","_addFilterHandler","addFilterHandler","_resetFilterHandler","resetFilterHandler","replaceFilter","highlightSelected","fadeDeselected","resetHighlight","onClick","filterHandler","legendables","legendHighlight","legendReset","legendToggle","isLegendableHidden","label","renderLabel","title","renderTitle","on","legend","options","opts","applyOptions","listener","marginMixin","_margin","top","right","bottom","left","margins","m","effectiveWidth","effectiveHeight","colorMixin","_colors","scale","category20c","_defaultAccessor","_colorAccessor","colors","quantize","ordinalColors","linearColors","linear","interpolate","interpolateHcl","colorAccessor","defaultColorAccessor","colorDomain","calculateColorDomain","newDomain","getColor","colorCalculator","coordinateGridMixin","zoomHandler","_refocused","_zoomOutRestrict","constrainRange","_xOriginalDomain","_rangeChart","domFilter","rescale","rangesEqual","compareDomains","d1","d2","elem","prepareXAxis","isOrdinal","elasticX","_x","_ordinalXDomain","xAxisMin","xAxisMax","xdom","_lastXDomain","rangeBands","xAxisLength","_rangeBandPadding","_useOuterPadding","_outerRangeBandPadding","_xAxis","renderVerticalGridLines","gridLineG","VERTICAL_CLASS","_renderVerticalGridLine","insert","GRID_LINE_CLASS","ticks","tickValues","lines","linesGEnter","enter","_xAxisY","exit","brushHeight","getClipPathId","generateClipPath","defs","_parent","chartBodyClip","padding","_clipPadding","yAxisHeight","drawChart","_brushOn","_prepareYAxis","plotData","_resizing","renderXAxis","elasticY","renderYAxis","renderBrush","redrawBrush","fadeDeselectedArea","configureMouseZoom","_mouseZoomable","_enableMouseZoom","_hasBeenMouseZoomable","_disableMouseZoom","constraint","constrainedRange","range1","range2","valueOf","hasRangeSelected","HORIZONTAL_CLASS","Y_AXIS_LABEL_CLASS","X_AXIS_LABEL_CLASS","DEFAULT_AXIS_LABEL_PADDING","category10","_g","_chartBodyG","_xAxisLabel","_y","_yAxisLabel","_round","_unitCount","_focusChart","axis","orient","_xUnits","_xAxisPadding","_xElasticity","_xAxisLabelPadding","_yAxis","_yAxisPadding","_yElasticity","_yAxisLabelPadding","_brush","brush","_renderHorizontalGridLine","_zoomScale","_zoom","behavior","zoom","_nullZoom","_useRightYAxis","rangeChart","focusChart","zoomScale","zoomOutRestrict","_generateG","mouseZoomable","z","chartBodyG","xOriginalDomain","xUnits","xAxis","xAxisPadding","xUnitCount","useRightYAxis","groups","map","axisXG","axisXLab","xAxisLabel","yAxisMin","yAxisMax","rangeRound","_renderHorizontalGridLinesForAxis","renderYAxisLabel","axisClass","rotation","labelXPosition","axisYLab","labelYPosition","renderYAxisAt","position","axisYG","axisPosition","_yAxisX","labelPosition","yAxisLabel","yAxis","renderHorizontalGridLines","yAxisPadding","_filter","extent","_brushing","gBrush","setBrushY","setHandlePaths","resizeHandlePath","extendBrush","brushIsEmpty","rangedFilter","doTransition","clipPadding","p","_preprocessData","scaleExtent","size","refocused","c","brushOn","stackMixin","prepareValues","layer","layerIdx","valAccessor","accessor","String","values","hidden","domainFilter","xDomain","findLayerByName","_stack","flattenStack","valueses","prototype","concat","visability","_stackLayout","layout","stack","_titles","_hidableStacks","hidableStacks","hideStack","stackName","showStack","getValueAccessorByIndex","index","y0","titleAccessor","stackLayout","layers","flat","ordered","color","capMixin","_cap","_othersLabel","_othersGrouper","topRows","topRowsSum","sum","allRows","allRowsSum","topKeys","allKeys","topSet","set","others","key","cappedKeyAccessor","cappedValueAccessor","cap","othersLabel","othersGrouper","_onClick","bubbleMixin","_maxBubbleRelativeSize","_minRadiusWithLabel","BUBBLE_NODE_CLASS","BUBBLE_CLASS","MIN_RADIUS","_r","_rValueAccessor","radiusValueAccessor","rMin","rMax","bubbleR","isNaN","labelFunction","labelOpacity","_doRenderLabel","bubbleGEnter","doUpdateLabels","labels","titleFunction","_doRenderTitles","doUpdateTitles","minRadiusWithLabel","maxBubbleRelativeSize","isSelectedNode","pieChart","_radius","_givenRadius","pieData","arc","buildArcs","pie","pieLayout","_emptyCssClass","_emptyTitle","slices","_sliceCssClass","createElements","updateElements","removeElements","highlightFilter","cx","cy","slicesEnter","createSliceNodes","createSlicePath","createTitles","createLabels","slicePath","fill","safeArc","attrTween","tweenPie","positionLabels","labelsEnter","sliceHasNoData","sliceTooSmall","isSelectedSlice","classes","_externalLabelRadius","updateSlicePaths","updateLabels","updateTitles","slicePaths","outerRadius","_externalRadiusPadding","innerRadius","_innerRadius","sort","angle","endAngle","startAngle","_minAngleForLabel","b","_current","isOffCanvas","t","path","centroid","highlightSliceFromLegendable","legendable","highlighted","_cx","_cy","DEFAULT_MIN_ANGLE_FOR_LABEL","slicesCap","externalRadiusPadding","radius","minAngleForLabel","emptyTitle","externalLabels","barChart","barHeight","renderBars","layerIndex","bars","_centerBar","_barWidth","_gap","calculateBarWidth","numberOfBars","rangeBand","barPadding","MIN_BAR_WIDTH","colorFilter","inv","item","match","DEFAULT_GAP_BETWEEN_BARS","_alwaysUseRounding","_rescale","_render","start","end","centerBar","outerPadding","gap","alwaysUseRounding","_xAxisMax","res","lineChart","drawLine","layersEnter","line","_interpolate","tension","_tension","_defined","defined","_dashStyle","safeD","drawArea","_renderArea","area","drawDots","chartBody","xyTipsOn","tooltipListClass","TOOLTIP_G_CLASS","tooltips","points","createRefLines","dots","DOT_CIRCLE_CLASS","getDotRadius","_dataPointFillOpacity","_dataPointStrokeOpacity","dot","showDot","showRefLines","hideDot","hideRefLines","yRefLine","Y_AXIS_REF_LINE_CLASS","xRefLine","X_AXIS_REF_LINE_CLASS","_dotRadius","yAxisX","yAxisRefPathD","xAxisRefPathD","_dataPointRadius","dashstyle","join","DEFAULT_DOT_RADIUS","DEFAULT_DOT_OPACITY","_xyTipsOn","layersList","dashStyle","renderArea","dotRadius","renderDataPoints","fillOpacity","strokeOpacity","_legendables","dataCount","_formatNumber","_html","html","formatNumber","tot","selected","dataTable","renderGroups","bAllFunctions","_columns","headcols","headGroup","HEAD_CSS_CLASS","_doColumnHeaderFormat","nestEntries","rowGroup","_showGroups","GROUP_CSS_CLASS","LABEL_CSS_CLASS","entries","_order","ascending","_size","nest","sortKeys","_sortBy","renderRows","rows","order","ROW_CSS_CLASS","rowEnter","v","COLUMN_CSS_CLASS","_doColumnValueFormat","_doColumnHeaderFnToString","_doColumnHeaderCapitalize","charAt","toUpperCase","i1","i2","lastIndexOf","substring","i3","columns","sortBy","showGroups","dataGrid","GRID_CSS_CLASS","itemGroup","_htmlGroup","_beginSlice","_endSlice","renderItems","items","ITEM_CSS_CLASS","JSON","stringify","beginSlice","endSlice","htmlGroup","bubbleChart","renderNodes","bubbleG","bubbleLocator","updateNodes","removeNodes","bubbleX","bubbleY","_elasticRadius","elasticRadius","compositeChart","prepareRightYAxis","rightY","rightYAxisMin","rightYAxisMax","rightYAxis","prepareLeftYAxis","generateChildG","child","SUB_CHART_CLASS","leftYAxisChildren","_children","rightYAxisChildren","getYAxisMin","getYAxisMax","getAllXAxisMinFromChildCharts","getAllXAxisMaxFromChildCharts","_rightY","DEFAULT_RIGHT_Y_AXIS_LABEL_PADDING","_childOptions","_shareColors","_shareTitle","_rightYAxis","_rightYAxisLabel","_rightYAxisLabelPadding","_rightAxisGridLines","__generateG","rightYAxisLabel","useRightAxisGridLines","childOptions","compose","children","shareColors","shareTitle","reduce","j","seriesChart","keySort","clearChart","_charts","resetChildren","keys","_seriesAccessor","_chartFunction","_seriesSort","_valueSort","childrenChanged","keep","nester","sortValues","nesting","sub","subChart","_compose","seriesAccessor","seriesSort","valueSort","geoChoroplethChart","generateLayeredData","isDataLayer","regionG","renderRegionG","renderPaths","groupAll","geoJson","layerSelector","isSelected","isDeselected","layerNameClass","regionClass","baseClasses","getKey","_geoJsons","paths","currentFill","_projectionFlag","_geoPath","geo","states","selectedRegion","overlayGeoJson","json","projection","geoJsons","geoPath","removeGeoJson","bubbleOverlay","initOverlayG","BUBBLE_OVERLAY_CLASS","initializeBubbles","mapData","_points","point","nodeG","getNodeG","circle","datum","bubbleNodeClass","updateBubbles","flag","debugG","debugText","mouse","rowChart","calculateAxisScale","_elasticX","_rowData","drawAxis","axisG","drawGridLines","_rowCssClass","rootValue","_fixedBarHeight","_hasLabelOffsetY","_labelOffsetY","rect","isSelectedRow","translateX","renderTitleLabel","_titleRowCssClass","lab","_labelOffsetX","_dyOffset","titlelab","_titleLabelOffsetX","x0","_renderTitleLabel","rowsCap","fixedBarHeight","labelOffsetX","labelOffsetY","titleLabelOffsetX","legendItemHeight","_itemHeight","LABEL_GAP","_horizontal","_legendWidth","_itemWidth","_autoItemWidth","itemEnter","clientHeight","_cumulativeLegendTextWidth","row","translateBy","itemWidth","getBBox","itemHeight","horizontal","legendWidth","autoItemWidth","scatterPlot","resizeSymbolsWhere","condition","symbols","oldSize","_symbol","pow","resizeFiltered","symbol","_existenceAccessor","originalKeyAccessor","_locator","_symbolSize","_highlightedSize","_hiddenSize","__filter","existenceAccessor","acc","type","symbolSize","highlightedSize","hiddenSize","ranged2DFilter","numberDisplay","SPAN_CLASS","one","none","valObj","newValue","span","ease","tween","interp","interpolateNumber","lastValue","num","innerHTML","heatMap","filterAxis","cellsOnAxis","unfilteredCellsOnAxis","_chartBody","_cols","_rows","DEFAULT_BORDER_RADIUS","_colOrdering","_rowOrdering","_colScale","_rowScale","_xBorderRadius","_yBorderRadius","_colsLabel","_rowsLabel","colsLabel","rowsLabel","_xAxisOnClick","_yAxisOnClick","_boxOnClick","rowOrdering","cols","colOrdering","rowCount","colCount","boxWidth","boxHeight","rangeRoundBands","boxes","gEnter","boxOnClick","gCols","gColsText","xAxisOnClick","gRows","gRowsText","yAxisOnClick","xBorderRadius","yBorderRadius","boxWhiskers","boxQuartiles","quantile","box","quartileData","quartiles","whiskerIndices","whiskers","whiskerData","outlierIndices","x1","__chart__","center","medianLine","whisker","outlier","Number","tickFormat","boxTick","whiskerTick","timer","flush","boxPlot","DEFAULT_WHISKERS_IQR","k","q1","q3","iqr","renderBoxes","boxesG","boxesGEnter","boxTransform","_box","updateBoxes","removeBoxes","_whiskerIqrFactor","_whiskersIqr","_whiskers","_tickFormat","_boxWidth","innerChartWidth","boxPadding","xOffset","_calculatedBoxWidth","selectMenu","renderOptions","_select","OPTION_CSS_CLASS","onChange","selectedOptions","target","setAttributes","_multiple","SELECT_CSS_CLASS","_promptText","_filterDisplayed","property","promptText","filterDisplayed","multiple","abstractBubbleChart","baseChart","capped","colorChart","coordinateGridChart","marginable","stackableChart","define","amd","module","exports","_d3","require","_crossfilter"],"mappings":"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"} \ No newline at end of file