From bde43b93314e1db6f61aaff479f8610dc08ac7e9 Mon Sep 17 00:00:00 2001 From: Brian Greig Date: Mon, 19 Nov 2018 23:26:22 -0500 Subject: [PATCH] finalized 0.3.0 build --- dist/index.html | 2 +- dist/module/import/barChart.js | 37 +++-- dist/module/import/bubbleChart.js | 128 ++++++++++++++++++ dist/module/import/lineGraph.js | 63 ++++++--- dist/module/import/vBarChart.js | 30 +++- dist/module/v-chart-plugin.js | 120 ++++++++++++---- dist/static/js/app.d0cfa1f5b8fb363d2216.js | 2 - .../static/js/app.d0cfa1f5b8fb363d2216.js.map | 1 - dist/static/js/app.de77d3a1edc539760483.js | 2 + .../static/js/app.de77d3a1edc539760483.js.map | 1 + .../js/manifest.c423efaf7696a83d1404.js.map | 2 +- dist/static/js/vendor.204a476a59e23f5db787.js | 8 -- .../js/vendor.204a476a59e23f5db787.js.map | 1 - dist/static/js/vendor.ea0c2a26400e96edf6cc.js | 15 ++ .../js/vendor.ea0c2a26400e96edf6cc.js.map | 1 + src/components/chartExample.vue | 2 +- src/import/bubbleChart.js | 12 +- src/v-chart-plugin.js | 20 +-- 18 files changed, 352 insertions(+), 95 deletions(-) create mode 100644 dist/module/import/bubbleChart.js delete mode 100644 dist/static/js/app.d0cfa1f5b8fb363d2216.js delete mode 100644 dist/static/js/app.d0cfa1f5b8fb363d2216.js.map create mode 100644 dist/static/js/app.de77d3a1edc539760483.js create mode 100644 dist/static/js/app.de77d3a1edc539760483.js.map delete mode 100644 dist/static/js/vendor.204a476a59e23f5db787.js delete mode 100644 dist/static/js/vendor.204a476a59e23f5db787.js.map create mode 100644 dist/static/js/vendor.ea0c2a26400e96edf6cc.js create mode 100644 dist/static/js/vendor.ea0c2a26400e96edf6cc.js.map diff --git a/dist/index.html b/dist/index.html index 23ea826..c91b56a 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -v-chart-plugin
\ No newline at end of file +v-chart-plugin
\ No newline at end of file diff --git a/dist/module/import/barChart.js b/dist/module/import/barChart.js index 09222cf..5425bdd 100644 --- a/dist/module/import/barChart.js +++ b/dist/module/import/barChart.js @@ -1,4 +1,6 @@ import _Object$assign from 'babel-runtime/core-js/object/assign'; +import { globalAgent } from 'http'; + /** * @fileOverview Bar chart component definition * @@ -29,7 +31,7 @@ var barChart = function chart() { */ var cs = { palette: { - fill: '#005792', + fill: ['#005792', '#ffcdcd'], stroke: '#d1f4fa' }, bar: { @@ -63,7 +65,7 @@ var barChart = function chart() { * @function */ var getHeight = function getHeight() { - return (_this.displayHeight - cs.x.axisHeight - _this.header - cs.bar.vPadding) / _this.ds.length - 1; + return ((_this.displayHeight - cs.x.axisHeight - _this.header - cs.bar.vPadding) / _this.ds.length - 1) / _this.metric.length; }; /** @@ -74,7 +76,7 @@ var barChart = function chart() { * @param {Object} i (svg element) */ var getYCoord = function getYCoord(d, i) { - return i * (_this.displayHeight - cs.x.axisHeight - _this.header) / _this.ds.length + 1 + _this.header; + return i * (_this.displayHeight - cs.x.axisHeight - _this.header) / _this.ds.length + 1 + _this.header + cs.bar.offset * getHeight(); }; /** @@ -103,7 +105,11 @@ var barChart = function chart() { * @param {Object} rects (svg element) */ var enter = function enter(rects) { - rects.enter().append('rect').attr('fill', cs.palette.fill).attr('stroke', cs.palette.stroke).attr('class', _this.selector).attr('width', getWidth).attr('height', getHeight).attr('y', getYCoord).attr('x', cs.y.axisWidth + cs.bar.hPadding).on('mouseover', mouseOver).on('mouseout', mouseOut); + _this.metric.forEach(function (e, i) { + cs.bar.offset = i; + rects[i].enter().append('rect').attr('fill', cs.palette.fill[i]).attr('stroke', cs.palette.stroke).attr('class', _this.selector).attr('class', 'r' + i).attr('width', getWidth).attr('height', getHeight).attr('y', getYCoord).attr('x', cs.y.axisWidth + cs.bar.hPadding).on('mouseover', mouseOver).on('mouseout', mouseOut); + }); + if (_this.goal) _this.generateGoal(cs, svgContainer, false, cs.y.axisWidth + cs.bar.hPadding); return rects; }; /** @@ -113,7 +119,11 @@ var barChart = function chart() { * @param {Object} rects (svg element) */ var transition = function transition(rects) { - rects.transition().attr('width', getWidth).attr('height', getHeight).attr('y', getYCoord).attr('x', cs.y.axisWidth + cs.bar.hPadding); + _this.metric.forEach(function (e, i) { + cs.bar.offset = i; + rects[i].transition().attr('width', getWidth).attr('height', getHeight).attr('y', getYCoord).attr('x', cs.y.axisWidth + cs.bar.hPadding); + }); + if (_this.goal) _this.generateGoal(cs, svgContainer, false, cs.y.axisWidth + cs.bar.hPadding); return rects; }; /** @@ -123,7 +133,9 @@ var barChart = function chart() { * @param {Object} rect (svg element) */ var exit = function exit(rects) { - rects.exit().remove(); + _this.metric.forEach(function (e, i) { + rects[i].exit().remove(); + }); return rects; }; /** @@ -164,13 +176,22 @@ var barChart = function chart() { * @param {number} currentValue */ var getMaxDimLength = function getMaxDimLength(accumulator, currentValue) { + if (!currentValue.dim) return accumulator; return currentValue.dim.length > accumulator ? currentValue.dim.length : accumulator; }; - var rects = svgContainer.selectAll('rect').data(this.ds); + var rects = []; + this.metric.forEach(function (e, i) { + rects.push(svgContainer.selectAll('rect.r' + i).data(_this.ds.map(function (d) { + return { + metric: d.metric[i], + dim: d.dim + }; + }))); + }); cs = this.setOverrides(cs, this.chartData.overrides); - if (this.ds[0].dim) cs.y.axisWidth = cs.y.axisWidth || this.ds.reduce(getMaxDimLength, 0) * 10; + if (this.ds[0] && this.ds[0].dim) cs.y.axisWidth = cs.y.axisWidth || this.ds.reduce(getMaxDimLength, 0) * 10; buildScales(cs); drawAxis(cs); diff --git a/dist/module/import/bubbleChart.js b/dist/module/import/bubbleChart.js new file mode 100644 index 0000000..25d74f4 --- /dev/null +++ b/dist/module/import/bubbleChart.js @@ -0,0 +1,128 @@ +import _Object$assign from 'babel-runtime/core-js/object/assign'; +/** + * @fileOverview Line Graph component definition + * + * @author Brian Greig + * + * @requires NPM:d3:Vue + * @requires src/v-chart-plugin.js + */ +var d3 = _Object$assign({}, require('d3-selection'), require('d3-scale'), require('d3-axis'), require('d3-shape')); +/** + * Builds a Line Graph. + * @module lineGraph + */ + +var lineGraph = function chart(mode) { + var _this = this; + + /** + * The SVG that stores the chart + * @member svgContainer + */ + var svgContainer = d3.select('#' + this.chartData.selector); + /** + * The configuration of the coordinate system + * @member cs + */ + var cs = { + palette: { + pointFill: '#005792', + pointStroke: '#d1f4fa' + }, + x: { + domain: [], + range: [], + axisHeight: 20 + }, + y: { + axisWidth: 30, + ticks: 5 + }, + r: {} + }; + + /** + * Runs when a new element is added to the dataset + * @member enter + * @function + * @param {Object} points (svg element) + */ + var enter = function enter(points) { + points.enter().append('circle').attr('class', _this.selector).attr('r', function (d) { + return cs.r.scale(d.metric[2]); + }).attr('cx', function (d) { + return cs.x.scale(d.metric[0]) + cs.y.axisWidth + 5; + }).attr('cy', function (d) { + return cs.y.scale(d.metric[1]); + }); + return points; + }; + /** + * Runs when a value of an element in dataset is changed + * @member transition + * @function + * @param {Object} points (svg element) + */ + var transition = function transition(points) { + points.transition().attr('r', function (d) { + return cs.r.scale(d.metric[2]); + }).attr('cx', function (d) { + return cs.x.scale(d.metric[0]) + cs.y.axisWidth + 5; + }).attr('cy', function (d) { + return cs.y.scale(d.metric[1]); + }); + return points; + }; + + /** + * Runs when an element is removed from the dataset + * @member exit + * @function + * @param {Object} points (svg element) + */ + var exit = function exit(points) { + points.exit().remove(); + return points; + }; + + /** + * Builds the scales for the x and y axes + * @member buildScales + * @function + */ + var buildScales = function buildScales(cs) { + cs.y.scale = d3.scaleLinear().domain([_this.minTriplet.v1, _this.maxTriplet.v1]).range([_this.displayHeight - cs.x.axisHeight, _this.header]); + cs.x.scale = d3.scaleLinear().domain([_this.minTriplet.v2, _this.maxTriplet.v2]).range([0, _this.width]); + cs.r.scale = d3.scaleLinear().domain([_this.minTriplet.v3, _this.maxTriplet.v3]).range([0, 20]); + }; + /** + * Draws the x and y axes on the svg + * @member drawAxis + * @function + */ + var drawAxis = function drawAxis(cs) { + cs.x.axis = d3.axisBottom().scale(cs.x.scale); + cs.x.xOffset = cs.y.axisWidth + 5; + cs.x.yOffset = _this.displayHeight - cs.x.axisHeight; + cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale); + cs.y.xOffset = cs.y.axisWidth; + cs.y.yOffset = 0; + svgContainer.append('g').attr('class', 'axis').attr('transform', 'translate(' + cs.x.xOffset + ', ' + cs.x.yOffset + ')').call(cs.x.axis); + svgContainer.append('g').attr('class', 'axis').attr('transform', 'translate(' + cs.y.xOffset + ',' + cs.y.yOffset + ')').call(cs.y.axis); + }; + + var points = svgContainer.selectAll('circle').data(this.ds); + + cs = this.setOverrides(cs, this.chartData.overrides); + + buildScales(cs); + drawAxis(cs); + enter(points); + transition(points); + exit(points); + + return cs; +}; + +export default lineGraph; \ No newline at end of file diff --git a/dist/module/import/lineGraph.js b/dist/module/import/lineGraph.js index e09b77b..46bb1c3 100644 --- a/dist/module/import/lineGraph.js +++ b/dist/module/import/lineGraph.js @@ -52,20 +52,20 @@ var lineGraph = function chart(mode) { _this.metric.forEach(function (e, i) { path[i].enter().append('path').attr('d', cs.lineFunction[i](_this.ds)).attr('fill', 'none').attr('id', 'p' + i).attr('stroke', cs.palette.lineFill[i]).attr('stroke-width', 3); }); - - // points.enter() - // .append('circle') - // .attr('class', this.selector) - // .attr('r', 2) - // .on('mouseover', (d) => { - // this.addTooltip(d, window.event); - // }) - // .on('mouseout', (d) => { - // this.removeTooltip(d); - // }) - // .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5) - // .attr('cy', d => cs.y.scale(d.metric[0])); - // return points; + _this.metric.forEach(function (e, i) { + cs.offset = i; + points[i].enter().append('circle').attr('class', _this.selector).attr('class', "r" + i).attr('r', 2).on('mouseover', function (d) { + _this.addTooltip(d, window.event); + }).on('mouseout', function (d) { + _this.removeTooltip(d); + }).attr('cx', function (d) { + return cs.x.scale(d.dim) + cs.y.axisWidth + 5; + }).attr('cy', function (d) { + return cs.y.scale(d.metric); + }); + }); + if (_this.goal) _this.generateGoal(cs, svgContainer, true, 0); + return points; }; /** * Runs when a value of an element in dataset is changed @@ -78,12 +78,20 @@ var lineGraph = function chart(mode) { path[i].transition().attr('d', cs.lineFunction[i](_this.ds)); }); - // points.transition() - // .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5) - // .attr('cy', d => cs.y.scale(d.metric[0])) - // .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5) - // .attr('cy', d => cs.y.scale(d.metric[0])); - // return points; + _this.metric.forEach(function (e, i) { + cs.offset = i; + points[i].transition().attr('cx', function (d) { + return cs.x.scale(d.dim) + cs.y.axisWidth + 5; + }).attr('cy', function (d) { + return cs.y.scale(d.metric); + }).attr('cx', function (d) { + return cs.x.scale(d.dim) + cs.y.axisWidth + 5; + }).attr('cy', function (d) { + return cs.y.scale(d.metric); + }); + }); + if (_this.goal) _this.generateGoal(cs, svgContainer, true, 0); + return points; }; /** @@ -93,7 +101,9 @@ var lineGraph = function chart(mode) { * @param {Object} points (svg element) */ var exit = function exit(points, path) { - points.exit().remove(); + _this.metric.forEach(function (e, i) { + points[i].exit().remove(); + }); _this.metric.forEach(function (e, i) { path[i].exit().remove(); }); @@ -140,7 +150,16 @@ var lineGraph = function chart(mode) { })); }); - var points = svgContainer.selectAll('circle').data(this.ds); + var points = []; + this.metric.forEach(function (e, i) { + points.push(svgContainer.selectAll('circle.r' + i).data(_this.ds.map(function (d) { + return { + metric: d.metric[i], + dim: d.dim + }; + }))); + }); + var path = []; this.metric.forEach(function (e, i) { path.push(svgContainer.selectAll('path#p' + i).data(_this.ds)); diff --git a/dist/module/import/vBarChart.js b/dist/module/import/vBarChart.js index 272081a..f1f1755 100644 --- a/dist/module/import/vBarChart.js +++ b/dist/module/import/vBarChart.js @@ -28,7 +28,7 @@ var vBarChart = function chart() { */ var cs = { palette: { - fill: '#005792', + fill: ['#005792', '#ffcdcd'], stroke: '#d1f4fa' }, bar: { @@ -52,7 +52,7 @@ var vBarChart = function chart() { */ var getWidth = function getWidth() { - return (_this.width - cs.y.axisWidth) / _this.chartData.data.length - 1; + return ((_this.width - cs.y.axisWidth) / _this.chartData.data.length - 1) / _this.metric.length; }; /** @@ -73,7 +73,7 @@ var vBarChart = function chart() { * @param {Object} i (svg element) */ var getXCoord = function getXCoord(d, i) { - return i * (_this.width - cs.y.axisWidth) / _this.chartData.data.length + cs.y.axisWidth; + return i * (_this.width - cs.y.axisWidth) / _this.chartData.data.length + cs.y.axisWidth + cs.bar.offset * getWidth(); }; /** * Returns y axis co-ordinate of the bar @@ -112,7 +112,10 @@ var vBarChart = function chart() { * @param {Object} rects (svg element) */ var enter = function enter(rects) { - rects.enter().append('rect').attr('fill', cs.palette.fill).attr('stroke', cs.palette.stroke).attr('class', _this.selector).attr('width', getWidth).attr('height', getHeight).attr('x', getXCoord).attr('y', getYCoord).on('mouseover', mouseOver).on('mouseout', mouseOut); + _this.metric.forEach(function (e, i) { + cs.bar.offset = i; + rects[i].enter().append('rect').attr('fill', cs.palette.fill[i]).attr('stroke', cs.palette.stroke).attr('class', _this.selector).attr('class', 'r' + i).attr('width', getWidth).attr('height', getHeight).attr('x', getXCoord).attr('y', getYCoord).on('mouseover', mouseOver).on('mouseout', mouseOut); + }); }; /** * Runs when a value of an element in dataset is changed @@ -121,7 +124,10 @@ var vBarChart = function chart() { * @param {Object} rects (svg element) */ var transition = function transition(rects) { - rects.transition().attr('width', getWidth).attr('height', getHeight).attr('x', getXCoord).attr('y', getYCoord); + _this.metric.forEach(function (e, i) { + cs.bar.offset = i; + rects[i].transition().attr('width', getWidth).attr('height', getHeight).attr('x', getXCoord).attr('y', getYCoord); + }); }; /** * Runs when an element is removed from the dataset @@ -130,7 +136,9 @@ var vBarChart = function chart() { * @param {Object} rects (svg element) */ var exit = function exit(rects) { - rects.exit().remove(); + _this.metric.forEach(function (e, i) { + rects[i].exit().remove(); + }); }; /** * Builds the scales for the x and y axes @@ -163,7 +171,15 @@ var vBarChart = function chart() { if (_this.ds[0].dim) svgContainer.append('g').attr('class', 'axis').attr('transform', 'translate(' + cs.x.xOffset + ', ' + cs.x.yOffset + ')').call(cs.x.axis); }; - var rects = svgContainer.selectAll('rect').data(this.ds); + var rects = []; + this.metric.forEach(function (e, i) { + rects.push(svgContainer.selectAll('rect.r' + i).data(_this.ds.map(function (d) { + return { + metric: d.metric[i], + dim: d.dim + }; + }))); + }); cs = this.setOverrides(cs, this.chartData.overrides); buildScales(cs); diff --git a/dist/module/v-chart-plugin.js b/dist/module/v-chart-plugin.js index 889094f..72e4e9d 100644 --- a/dist/module/v-chart-plugin.js +++ b/dist/module/v-chart-plugin.js @@ -18,6 +18,7 @@ import lineGraph from './import/lineGraph'; import scatterPlot from './import/scatterPlot'; import pieChart from './import/pieChart'; import areaChart from './import/areaChart'; +import bubbleChart from './import/bubbleChart'; var d3 = _Object$assign({}, require('d3-selection')); @@ -146,16 +147,38 @@ var Chart = { * @param {Object} cs configuration of the coordinate system */ generateLegend: function generateLegend(cs) { - if (this.chartData.legends && this.chartData.legends.enabled === true) { - d3.select('#' + this.chartData.selector).append('text').attr('x', this.width - 60).attr('y', this.height * 0.95).style('text-anchor', 'middle').text(this.chartData.metric[0]); + var _this = this; - d3.select('#' + this.chartData.selector).append("g").attr("class", "legends").append("rect").attr('x', this.width - 30).attr('y', this.height * 0.95 - 10).attr("width", 30).attr("height", 10).style("fill", function () { - var fill = cs.palette.lineFill || cs.palette.fill; - return fill; + if (this.chartData.legends && this.chartData.legends.enabled === true) { + cs.palette.lineFill = Array.isArray(cs.palette.lineFill) ? cs.palette.lineFill : new Array(cs.palette.lineFill); + cs.palette.fill = Array.isArray(cs.palette.fill) ? cs.palette.fill : new Array(cs.palette.fill); + this.metric.forEach(function (e, i) { + d3.select('#' + _this.chartData.selector).append('text').attr('x', _this.width - 60).attr('y', _this.height * 0.95 - i * 15).style('text-anchor', 'middle').text(_this.metric[i]); + + d3.select('#' + _this.chartData.selector).append("g").attr("class", "legends").append("rect").attr('x', _this.width - 30).attr('y', _this.height * 0.95 - i * 15 - 10).attr("width", 30).attr("height", 10).style("fill", function () { + var fill = cs.palette.lineFill[i] || cs.palette.fill[i]; + return fill; + }); }); } + }, + + /** + * Generate Goal + * @memberOf Chart + * @param {Object} cs configuration of the coordinate system + */ + + generateGoal: function generateGoal(cs, svgContainer, shiftAxis, padding) { + svgContainer.selectAll('line#goal').remove(); + var x1 = shiftAxis ? cs.y.axisWidth : cs.x.scale(this.goal) + padding; + var x2 = shiftAxis ? 500 : cs.x.scale(this.goal) + padding; + var y1 = shiftAxis ? cs.y.scale(this.goal) + padding : this.header; + var y2 = shiftAxis ? cs.y.scale(this.goal) + padding : this.displayHeight - cs.x.axisHeight; + + svgContainer.append("line").attr('x1', x1).attr('x2', x2).attr('y1', y1).attr('y2', y2).attr('id', 'goal').style('stroke', '#708090').style('stroke-width', 1); } - }, typeof barChart !== 'undefined' && { barChart: barChart }, typeof vBarChart !== 'undefined' && { vBarChart: vBarChart }, typeof scatterPlot !== 'undefined' && { scatterPlot: scatterPlot }, typeof pieChart !== 'undefined' && { pieChart: pieChart }, typeof areaChart !== 'undefined' && { areaChart: areaChart }, typeof lineGraph !== 'undefined' && { lineGraph: lineGraph }), + }, typeof barChart !== 'undefined' && { barChart: barChart }, typeof vBarChart !== 'undefined' && { vBarChart: vBarChart }, typeof scatterPlot !== 'undefined' && { scatterPlot: scatterPlot }, typeof pieChart !== 'undefined' && { pieChart: pieChart }, typeof areaChart !== 'undefined' && { areaChart: areaChart }, typeof lineGraph !== 'undefined' && { lineGraph: lineGraph }, typeof bubbleChart !== 'undefined' && { bubbleChart: bubbleChart }), computed: { /** * Dataset getter function @@ -163,37 +186,41 @@ var Chart = { * @returns {Object} normalized dataset */ ds: function ds() { - var _this = this; + var _this2 = this; - //TODO add in support for arrays with undefined metric var ds = { metric: [] }; - if (!Array.isArray(this.chartData.metric)) { - ds.metric.push(this.chartData.metric); - } else { - ds.metric = this.chartData.metric; - } + ds.metric = Array.isArray(this.chartData.metric) ? ds.metric = this.chartData.metric : new Array(this.chartData.metric); ds.dim = this.chartData.dim; ds.data = this.chartData.data; - return ds.data.map(function (d) { - var td = { - metric: [] - }; - ds.metric.forEach(function (e, i) { - td.metric[i] = d[e] || 0; - }); - td.dim = _this.chartData.dim ? d[_this.chartData.dim] : null; + var td = { metric: [] }; + if (!ds.metric[0]) td.metric[0] = d || 0;else { + ds.metric.forEach(function (e, i) { + td.metric[i] = d[e] || 0; + }); + } + td.dim = _this2.chartData.dim ? d[_this2.chartData.dim] : null; return td; }); }, + /** + * Goal getter function + * @memberOf Chart + * @returns {number} Goal + */ + goal: function goal() { + return this.chartData.goal; + }, + /** * Metric getter function * @memberOf Chart * @returns {array} Metrics */ metric: function metric() { - return this.chartData.metric; + var metric = Array.isArray(this.chartData.metric) ? this.chartData.metric : new Array(this.chartData.metric); + return metric; }, /** @@ -231,13 +258,31 @@ var Chart = { return max; }, + /** + * Get the maxium value for triplet + * @memberOf Chart + * @returns {Array} Max values for triplet + */ + maxTriplet: function maxTriplet() { + var max = { + v1: 0, + v2: 0, + v3: 0 + }; + this.ds.forEach(function (e) { + max.v1 = max.v1 > e.metric[0] ? max.v1 : e.metric[0]; + max.v2 = max.v2 > e.metric[1] ? max.v2 : e.metric[1]; + max.v3 = max.v3 > e.metric[2] ? max.v3 : e.metric[2]; + }); + return max; + }, + /** * Get the minimum value for dataset * @memberOf Chart * @returns {number} Min value for metric */ min: function min() { - var max = 0; var results = []; this.ds.forEach(function (e) { results = results.concat([].concat(_toConsumableArray(e.metric))); @@ -247,6 +292,35 @@ var Chart = { }))); }, + /** + * Get the minimum value for triplet + * @memberOf Chart + * @returns {Array} Min values for triplet + */ + minTriplet: function minTriplet() { + var results = { + v1: [], + v2: [], + v3: [] + }; + this.ds.forEach(function (e) { + results.v1.push(e.metric[0]); + results.v2.push(e.metric[1]); + results.v3.push(e.metric[2]); + }); + return { + v1: Math.min.apply(Math, _toConsumableArray(results.v1.map(function (o) { + return o; + }))), + v2: Math.min.apply(Math, _toConsumableArray(results.v2.map(function (o) { + return o; + }))), + v3: Math.min.apply(Math, _toConsumableArray(results.v3.map(function (o) { + return o; + }))) + }; + }, + /** * Gets the height of the dispaly area * @memberOf Chart diff --git a/dist/static/js/app.d0cfa1f5b8fb363d2216.js b/dist/static/js/app.d0cfa1f5b8fb363d2216.js deleted file mode 100644 index ffcbfd9..0000000 --- a/dist/static/js/app.d0cfa1f5b8fb363d2216.js +++ /dev/null @@ -1,2 +0,0 @@ -webpackJsonp([1],{"Gf/I":function(t,a){},IYc2:function(t,a){},NHnr:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var i=e("7+uW"),r=e("Gu7T"),s=e.n(r),n=e("BO1k"),c=e.n(n),l=e("fZjL"),h=e.n(l),o=e("Dd8w"),d=e.n(o),f=e("woOf"),u=e.n(f),x=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("bmQh")),m=function(){var t=this,a=x.select("#"+this.chartData.selector),e={palette:{fill:"#005792",stroke:"#d1f4fa"},bar:{hPadding:8,vPadding:5},x:{axisHeight:10,ticks:5},y:{domain:[],range:[],axisWidth:null}},i=function(t){return e.x.scale(t.metric)},r=function(){return(t.displayHeight-e.x.axisHeight-t.header-e.bar.vPadding)/t.ds.length-1},s=function(a,i){return i*(t.displayHeight-e.x.axisHeight-t.header)/t.ds.length+1+t.header},n=function(a){t.addTooltip(a,window.event)},c=function(a){t.removeTooltip(a)},l=a.selectAll("rect").data(this.ds);return e=this.setOverrides(e,this.chartData.overrides),this.ds[0].dim&&(e.y.axisWidth=e.y.axisWidth||10*this.ds.reduce(function(t,a){return a.dim.length>t?a.dim.length:t},0)),e.x.scale=x.scaleLinear().domain([0,t.max]).range([0,t.width-e.bar.hPadding-e.y.axisWidth]),t.ds.forEach(function(t){return e.y.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.y.range.push((t.displayHeight-e.x.axisHeight-t.header+e.bar.vPadding)*i/t.ds.length)}),e.y.scale=x.scaleOrdinal().domain(e.y.domain).range(e.y.range),e.x.axis=x.axisBottom().ticks(e.x.ticks,"s").scale(e.x.scale),e.y.axis=x.axisLeft().scale(e.y.scale),e.x.yOffset=t.displayHeight-e.x.axisHeight,e.x.xOffset=e.bar.hPadding+e.y.axisWidth,e.y.yOffset=e.bar.vPadding+t.header-1,e.y.xOffset=e.y.axisWidth,t.ds[0].dim&&a.append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+", "+e.y.yOffset+")").call(e.y.axis),a.append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),function(a){a.enter().append("rect").attr("fill",e.palette.fill).attr("stroke",e.palette.stroke).attr("class",t.selector).attr("width",i).attr("height",r).attr("y",s).attr("x",e.y.axisWidth+e.bar.hPadding).on("mouseover",n).on("mouseout",c)}(l),function(t){t.transition().attr("width",i).attr("height",r).attr("y",s).attr("x",e.y.axisWidth+e.bar.hPadding)}(l),function(t){t.exit().remove()}(l),e},y=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("n7yu")),p=function(){var t=this,a=y.select("#"+this.chartData.selector),e={palette:{fill:"#005792",stroke:"#d1f4fa"},bar:{hPadding:0,vPadding:0},x:{axisHeight:20,domain:[],range:[]},y:{axisWidth:30,ticks:5}},i=function(){return(t.width-e.y.axisWidth)/t.chartData.data.length-1},r=function(a){return t.displayHeight-e.y.scale(a.metric)},s=function(a,i){return i*(t.width-e.y.axisWidth)/t.chartData.data.length+e.y.axisWidth},n=function(t){return e.y.scale(t.metric)},c=function(a){t.addTooltip(a,window.event)},l=function(a){t.removeTooltip(a)},h=a.selectAll("rect").data(this.ds);return(e=this.setOverrides(e,this.chartData.overrides)).y.scale=y.scaleLinear().domain([0,t.max]).range([t.displayHeight,t.header]),t.ds.forEach(function(t){return e.x.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.x.range.push((t.chartData.width-e.y.axisWidth+e.bar.vPadding)*i/t.ds.length)}),e.x.scale=y.scaleOrdinal().domain(e.x.domain).range(e.x.range),e.y.axis=y.axisLeft().ticks(e.y.ticks,"s").scale(e.y.scale),e.x.axis=y.axisBottom().scale(e.x.scale),e.x.yOffset=t.displayHeight,e.x.xOffset=e.y.axisWidth,e.y.yOffset=0,e.y.xOffset=e.y.axisWidth,a.append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+", "+e.y.yOffset+")").call(e.y.axis),t.ds[0].dim&&a.append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),function(a){a.enter().append("rect").attr("fill",e.palette.fill).attr("stroke",e.palette.stroke).attr("class",t.selector).attr("width",i).attr("height",r).attr("x",s).attr("y",n).on("mouseover",c).on("mouseout",l)}(h),function(t){t.transition().attr("width",i).attr("height",r).attr("x",s).attr("y",n)}(h),function(t){t.exit().remove()}(h),e},g=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("1gFY")),v=function(t){var a=this,e=g.select("#"+this.chartData.selector),i={palette:{lineFill:["#ffcdcd","#005792"],pointFill:"#005792",pointStroke:"#d1f4fa"},x:{domain:[],range:[],axisHeight:20},y:{axisWidth:30,ticks:5}};i.lineFunction=[],this.metric.forEach(function(t,a){i.lineFunction.push(g.line().x(function(t){return i.x.scale(t.dim)+i.y.axisWidth+5}).y(function(t){return i.y.scale(t.metric[a])}))});var r=e.selectAll("circle").data(this.ds),s=[];return this.metric.forEach(function(t,i){s.push(e.selectAll("path#p"+i).data(a.ds))}),function(t){t.y.scale=g.scaleLinear().domain([a.min,a.max]).range([a.displayHeight-t.x.axisHeight,a.header]),a.ds.forEach(function(a){return t.x.domain.push(a.dim)}),a.ds.forEach(function(e,i){return t.x.range.push((a.width*i-a.header)/a.ds.length)}),t.x.scale=g.scaleOrdinal().domain(t.x.domain).range(t.x.range)}(i=this.setOverrides(i,this.chartData.overrides)),function(t){t.x.axis=g.axisBottom().scale(t.x.scale),t.x.xOffset=t.y.axisWidth+5,t.x.yOffset=a.displayHeight-t.x.axisHeight,t.y.axis=g.axisLeft().ticks(t.y.ticks,"s").scale(t.y.scale),t.y.xOffset=t.y.axisWidth,t.y.yOffset=0,e.append("g").attr("class","axis").attr("transform","translate("+t.x.xOffset+", "+t.x.yOffset+")").call(t.x.axis),e.append("g").attr("class","axis").attr("transform","translate("+t.y.xOffset+","+t.y.yOffset+")").call(t.y.axis)}(i),function(t,e){a.metric.forEach(function(t,r){e[r].enter().append("path").attr("d",i.lineFunction[r](a.ds)).attr("fill","none").attr("id","p"+r).attr("stroke",i.palette.lineFill[r]).attr("stroke-width",3)})}(0,s),function(t,e){a.metric.forEach(function(t,r){e[r].transition().attr("d",i.lineFunction[r](a.ds))})}(0,s),function(t,e){t.exit().remove(),a.metric.forEach(function(t,a){e[a].exit().remove()})}(r,s),i},D=u()({},e("sHXk"),e("dJjO"),e("Mx2h")),w=function(){var t=this,a=D.select("#"+this.chartData.selector),e={x:{domain:[],range:[],axisHeight:20},y:{axisWidth:30,ticks:5}},i=a.selectAll("circle").data(this.ds);return(e=this.setOverrides(e,this.chartData.overrides)).y.scale=D.scaleLinear().domain([t.min,t.max]).range([t.displayHeight-e.x.axisHeight,t.header]),e.y.axis=D.axisLeft().ticks(e.y.ticks,"s").scale(e.y.scale),t.ds.forEach(function(t){return e.x.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.x.range.push((t.width*i-t.header)/t.ds.length)}),e.x.scale=D.scaleOrdinal().domain(e.x.domain).range(e.x.range),e.x.axis=D.axisBottom().scale(e.x.scale),e.x.xOffset=e.y.axisWidth+5,e.x.yOffset=t.height-e.x.axisHeight,e.y.xOffset=e.y.axisWidth,e.y.yOffset=0,a.append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),a.append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+","+e.y.yOffset+")").call(e.y.axis),i.enter().append("circle").attr("class",t.selector).attr("r",2).on("mouseover",function(a){t.addTooltip(a,window.event)}).on("mouseout",function(a){t.removeTooltip(a)}).attr("cx",function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).attr("cy",function(t){return e.y.scale(t.metric)}),function(t){t.transition().attr("cx",function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).attr("cy",function(t){return e.y.scale(t.metric)}).attr("cx",function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).attr("cy",function(t){return e.y.scale(t.metric)})}(i),i.exit().remove(),e},O=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("1gFY")),b=function(){var t=this,a=O.select("#"+this.chartData.selector),e={radius:null,ordinalColors:["#d1f4fa","#005792","#ffe6eb","#ffcdcd"]};e.radius=this.height>this.width?(this.width-.1*this.width)/2:(this.height-.1*this.height)/2;var i=O.scaleOrdinal().range(e.ordinalColors),r=function(t,a){return i(a)},s=function(a){t.addTooltip(a.data,window.event)},n=function(a){t.removeTooltip(a)},c=O.arc().outerRadius(e.radius-10).innerRadius(25),l=O.pie().sort(null).value(function(t){return t.metric}),h=a.selectAll(".arc").data(l(this.ds));return e=this.setOverrides(e,this.chartData.overrides),function(a){a.enter().append("g").attr("transform","translate("+t.width/2+","+t.height/2+")").append("path").merge(a).attr("class","arc").attr("d",c).attr("fill",r).on("mouseover",s).on("mouseout",n).attr("transform","translate(0,"+t.header+")")}(h),function(t){t.transition().attr("d",c).attr("fill",r)}(h),function(t){t.exit().remove()}(h),e},H=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("1gFY")),C=function(){var t=this,a=H.select("#"+this.chartData.selector),e={palette:{stroke:"#d1f4fa",fill:"#005792"},x:{domain:[],range:[],axisHeight:45,axisWidth:45},y:{axisWidth:45}},i=function(a){var i=" "+t.width+", "+e.x.yOffset+" ";return i+=" "+e.x.axisHeight+", "+e.x.yOffset+" ",i+=a.map(function(t){return[e.x.scale(t.dim)+e.y.axisWidth+5,e.y.scale(t.metric)].join(",")}).join(" ")},r=a.selectAll("polygon").data([this.ds]);return(e=this.setOverrides(e,this.chartData.overrides)).y.scale=H.scaleLinear().domain([0,t.max]).range([t.displayHeight-e.x.axisHeight,t.titleHeight]),e.y.axis=H.axisLeft().ticks(10,"s").scale(e.y.scale),t.ds.forEach(function(t){return e.x.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.x.range.push((t.width-e.x.axisWidth)*i/t.ds.length)}),e.x.scale=H.scaleOrdinal().domain(e.x.domain).range(e.x.range),e.x.axis=H.axisBottom().scale(e.x.scale),e.polyFunction=H.line().x(function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).y(function(t){return e.y.scale(t.metric)}),e.x.xOffset=e.y.axisWidth+5,e.x.yOffset=t.displayHeight-e.x.axisHeight,e.y.xOffset=e.y.axisWidth,e.y.yOffset=0,a.append("g").append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),t.ds[0].dim&&a.append("g").append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+","+e.y.yOffset+")").call(e.y.axis),r.enter().append("polygon").attr("stroke",e.palette.stroke).attr("fill",e.palette.fill).attr("points",i),function(t){t.transition().attr("points",i)}(r),function(t){t.exit().remove()}(r),e},k=u()({},e("sHXk")),W={install:function(t){t.component("v-chart",{props:["chartData"],data:function(){return{selector:this.chartData.selector+"-"+this.chartData.chartType}},methods:d()({initalizeChart:function(){var t=this[this.chartData.chartType]("init");this.drawTitle(),this.generateLegend(t)},refreshChart:function(){this.clearAxis(),this[this.chartData.chartType]("refresh")},clearAxis:function(){k.select("#"+this.chartData.selector).selectAll(".axis").remove()},clearCanvas:function(){k.select("#"+this.chartData.selector).selectAll("*").remove()},drawTitle:function(){k.select("#"+this.chartData.selector).append("text").attr("x",this.width/2).attr("y",this.titleHeight-.1*this.titleHeight).style("text-anchor","middle").text(this.chartData.title),k.select("#"+this.chartData.selector).append("text").attr("x",this.width/2).attr("y",this.titleHeight-.1*this.titleHeight+this.subtitleHeight).style("text-anchor","middle").text(this.chartData.subtitle)},addTooltip:function(t,a){k.select("#"+this.chartData.selector).append("rect").attr("x",a.layerX-5-50).attr("y",a.layerY-13-25).attr("height","16px").attr("width","80px").attr("class","tt").attr("fill","white"),k.select("#"+this.chartData.selector).append("text").attr("x",a.layerX-50).attr("y",a.layerY-25).attr("class","tt").attr("font-size","10px").text(t.dim+":"+t.metric)},removeTooltip:function(){k.select("#"+this.chartData.selector).selectAll(".tt").remove()},setOverrides:function(t,a){a=a||{};var e=h()(t),i=!0,r=!1,s=void 0;try{for(var n,l=c()(e);!(i=(n=l.next()).done);i=!0){var o=n.value;u()(t[o],a[o])}}catch(t){r=!0,s=t}finally{try{!i&&l.return&&l.return()}finally{if(r)throw s}}return t},generateLegend:function(t){this.chartData.legends&&!0===this.chartData.legends.enabled&&(k.select("#"+this.chartData.selector).append("text").attr("x",this.width-60).attr("y",.95*this.height).style("text-anchor","middle").text(this.chartData.metric[0]),k.select("#"+this.chartData.selector).append("g").attr("class","legends").append("rect").attr("x",this.width-30).attr("y",.95*this.height-10).attr("width",30).attr("height",10).style("fill",function(){return t.palette.lineFill||t.palette.fill}))}},{barChart:m},{vBarChart:p},{scatterPlot:w},{pieChart:b},{areaChart:C},{lineGraph:v}),computed:{ds:function(){var t=this,a={metric:[]};return Array.isArray(this.chartData.metric)?a.metric=this.chartData.metric:a.metric.push(this.chartData.metric),a.dim=this.chartData.dim,a.data=this.chartData.data,a.data.map(function(e){var i={metric:[]};return a.metric.forEach(function(t,a){i.metric[a]=e[t]||0}),i.dim=t.chartData.dim?e[t.chartData.dim]:null,i})},metric:function(){return this.chartData.metric},height:function(){return this.chartData.height||200},width:function(){return this.chartData.width||200},max:function(){var t=0,a=[];return this.ds.forEach(function(t){a=a.concat([].concat(s()(t.metric)))}),a.forEach(function(a){t=t>a?t:a}),t},min:function(){var t=[];return this.ds.forEach(function(a){t=t.concat([].concat(s()(a.metric)))}),Math.min.apply(Math,s()(t.map(function(t){return t})))},displayHeight:function(){return this.chartData.legends&&!0===this.chartData.legends.enabled?.8*this.height:this.height},titleHeight:function(){return this.chartData.title?this.chartData.textHeight||25:0},subtitleHeight:function(){return this.chartData.subtitle?.66*this.chartData.textHeight||16.5:0},header:function(){return this.titleHeight+this.subtitleHeight}},mounted:function(){this.initalizeChart()},watch:{chartData:{handler:function(){this.refreshChart()},deep:!0}},template:" "})}},_=W;"undefined"!=typeof window&&window.Vue&&window.Vue.use(W);var E=[{month:"Jan",year:2018,total:475,forecast:500,yoy:1.05,actual:!0},{month:"Feb",year:2018,total:515,forecast:525,yoy:1.03,actual:!0},{month:"Mar",year:2018,total:390,forecast:480,yoy:.95,actual:!0},{month:"Apr",year:2018,total:430,forecast:440,yoy:.8,actual:!0},{month:"May",year:2018,total:510,forecast:500,yoy:.7,actual:!0},{month:"Jun",year:2018,total:399,forecast:450,yoy:.75,actual:!0},{month:"Jul",year:2018,total:601,forecast:550,yoy:1,actual:!0},{month:"Aug",year:2018,total:496,forecast:480,yoy:1.15,actual:!0},{month:"Sep",year:2018,total:379,forecast:440,yoy:1.1,actual:!0},{month:"Oct",year:2018,total:410,forecast:430,yoy:.85,actual:!1},{month:"Nov",year:2018,total:490,forecast:500,yoy:.95,actual:!1},{month:"Dec",year:2018,total:610,forecast:625,yoy:1.01,actual:!1}],T={name:"barChartExample",methods:{newItem:function(){this.sales.push({month:null,year:null,total:null,actual:!1})},removeItem:function(t,a){a.preventDefault(),this.sales.splice(t,1)}},data:function(){return{sales:E,areaChartData:{chartType:"areaChart",selector:"areaChart",title:"Area Chart",width:300,height:200,metric:["total"],dim:"month",data:E,legends:{enabled:!0,height:25,width:50}},barChartData:{chartType:"barChart",selector:"chart",title:"Bar Chart",subtitle:"Sales by month",height:200,metric:"total",dim:"month",data:E,legends:{enabled:!0,height:25,width:50}},lineGraphData:{chartType:"lineGraph",selector:"lineGraph",title:"Line Graph",width:600,subtitle:"Sales by month",height:200,metric:["total","forecast"],dim:"month",data:E,legends:{enabled:!0,height:25,width:50}},vBarChartData:{chartType:"vBarChart",selector:"vChart",title:"Verticle Bar Chart",subtitle:"Sales by month",width:300,height:200,metric:"total",dim:"month",data:E,legends:{enabled:!0,height:25,width:50}},pieChartData:{chartType:"pieChart",selector:"pieChart",title:"Pie Chart",subtitle:"Sales by month",width:300,height:200,metric:"total",dim:"month",data:E},scatterPlotData:{chartType:"scatterPlot",selector:"scatterPlot",title:"Scatter Plot",subtitle:"Sales by month",width:300,height:200,metric:"total",dim:"month",data:E,legends:{enabled:!0,height:25,width:50}}}}},A={render:function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"container"},[t._m(0),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"form-group col-6 col-md-4"},[t._l(t.sales,function(a,i){return e("div",[e("input",{directives:[{name:"model",rawName:"v-model.number",value:t.sales[i].total,expression:"sales[index].total",modifiers:{number:!0}}],attrs:{type:"number"},domProps:{value:t.sales[i].total},on:{input:function(a){a.target.composing||t.$set(t.sales[i],"total",t._n(a.target.value))},blur:function(a){t.$forceUpdate()}}}),t._v(" "),e("button",{attrs:{type:"submit"},on:{click:function(a){t.removeItem(i,a)}},model:{value:t.sales[i],callback:function(a){t.$set(t.sales,i,a)},expression:"sales[index]"}},[t._v(" [-] ")])])}),t._v(" "),e("button",{on:{click:t.newItem}},[t._v(" [+] ")])],2),t._v(" "),e("div",{staticClass:"col-6 col-md-8"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("v-chart",{attrs:{chartData:t.lineGraphData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.areaChartData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.barChartData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.vBarChartData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.pieChartData}})],1)])])]),t._v(" "),t._m(1)])},staticRenderFns:[function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"row"},[a("div",{staticClass:"col"},[a("img",{staticClass:"logo",attrs:{src:e("dLd/")}})])])},function(){var t=this.$createElement,a=this._self._c||t;return a("a",{attrs:{href:"https://github.com/ignoreintuition/v-chart-plugin"}},[a("img",{staticStyle:{position:"absolute",top:"0",right:"0",border:"0"},attrs:{src:"https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png",alt:"Fork me on GitHub"}})])}]};var P={name:"App",components:{chartExample:e("VU/8")(T,A,!1,function(t){e("IYc2")},null,null).exports}},F={render:function(){var t=this.$createElement,a=this._self._c||t;return a("div",{attrs:{id:"app"}},[a("chartExample")],1)},staticRenderFns:[]};var L=e("VU/8")(P,F,!1,function(t){e("Gf/I")},null,null).exports;i.a.config.productionTip=!1,i.a.use(_),new i.a({el:"#app",components:{App:L},template:""})},"dLd/":function(t,a,e){t.exports=e.p+"static/img/logo.7eeeac5.png"}},["NHnr"]); -//# sourceMappingURL=app.d0cfa1f5b8fb363d2216.js.map \ No newline at end of file diff --git a/dist/static/js/app.d0cfa1f5b8fb363d2216.js.map b/dist/static/js/app.d0cfa1f5b8fb363d2216.js.map deleted file mode 100644 index ae733bb..0000000 --- a/dist/static/js/app.d0cfa1f5b8fb363d2216.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/import/barChart.js","webpack:///./src/import/vBarChart.js","webpack:///./src/import/lineGraph.js","webpack:///./src/import/scatterPlot.js","webpack:///./src/import/pieChart.js","webpack:///./src/import/areaChart.js","webpack:///./src/v-chart-plugin.js","webpack:///./src/assets/data/sales.js","webpack:///src/components/chartExample.vue","webpack:///./src/components/chartExample.vue?7140","webpack:///./src/components/chartExample.vue","webpack:///src/App.vue","webpack:///./src/App.vue?b8d2","webpack:///./src/App.vue","webpack:///./src/main.js","webpack:///./src/assets/img/logo.png"],"names":["d3","assign_default","require","barChart","_this","this","svgContainer","select","chartData","selector","cs","palette","fill","stroke","bar","hPadding","vPadding","x","axisHeight","ticks","y","domain","range","axisWidth","getWidth","d","scale","metric","getHeight","displayHeight","header","ds","length","getYCoord","i","mouseOver","addTooltip","window","event","mouseOut","removeTooltip","rects","selectAll","data","setOverrides","overrides","dim","reduce","accumulator","currentValue","scaleLinear","max","width","forEach","t","push","scaleOrdinal","axis","axisBottom","axisLeft","yOffset","xOffset","append","attr","call","enter","on","transition","exit","remove","vBarChart","getXCoord","lineGraph","mode","lineFill","pointFill","pointStroke","lineFunction","e","line","points","path","min","buildScales","drawAxis","scatterPlot","height","p","pieChart","radius","ordinalColors","color","getColor","arc","outerRadius","innerRadius","pie","sort","value","merge","areaChart","getPoints","poly","map","join","titleHeight","polyFunction","s","Chart","install","Vue","component","props","chartType","methods","initalizeChart","drawTitle","generateLegend","refreshChart","clearAxis","clearCanvas","style","text","title","subtitleHeight","subtitle","layerX","layerY","keys","keys_default","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","get_iterator_default","next","done","key","err","return","legends","enabled","computed","Array","isArray","td","results","concat","toConsumableArray_default","Math","apply","o","textHeight","mounted","watch","handler","deep","template","use","sales","month","year","total","forecast","yoy","actual","chartExample","name","newItem","removeItem","preventDefault","splice","areaChartData","barChartData","lineGraphData","vBarChartData","pieChartData","scatterPlotData","components_chartExample","render","_vm","_h","$createElement","_c","_self","staticClass","_m","_v","_l","index","directives","rawName","expression","modifiers","number","attrs","type","domProps","input","$event","target","composing","$set","_n","blur","$forceUpdate","click","model","callback","$$v","staticRenderFns","src","__webpack_require__","href","staticStyle","position","top","right","border","alt","App","components","normalizeComponent","ssrContext","selectortype_template_index_0_src_App","id","src_App","App_normalizeComponent","config","productionTip","el","module","exports"],"mappings":"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","file":"static/js/app.d0cfa1f5b8fb363d2216.js","sourcesContent":["/** \n * @fileOverview Bar chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-ease'));\n/**\n * Builds a Bar Chart.\n * @module barChart\n */\n\nconst barChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n fill: '#005792',\n stroke: '#d1f4fa',\n },\n bar: {\n hPadding: 8,\n vPadding: 5,\n },\n x: {\n axisHeight: 10,\n ticks: 5,\n },\n y: {\n domain: [],\n range: [],\n axisWidth: null,\n },\n };\n\n /**\n * Returns width of the bar\n * @member getWidth\n * @function\n * @param {Object} d (svg element)\n */\n const getWidth = d => cs.x.scale(d.metric);\n\n /**\n * Returns height of the bar\n * @member getHeight\n * @function\n */\n const getHeight = () => (\n this.displayHeight - cs.x.axisHeight - this.header - cs.bar.vPadding) / this.ds.length - 1;\n\n /**\n * Returns y axis co-ordinate of the bar\n * @member getYCoord\n * @function\n * @param {Object} d (svg element)\n * @param {Object} i (svg element)\n */\n const getYCoord = (d, i) => i * (\n this.displayHeight - cs.x.axisHeight - this.header) / this.ds.length + 1 + this.header;\n\n /**\n * Adds a tooltip on mouse over\n * @member mouseOver\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOver = (d) => {\n this.addTooltip(d, window.event);\n };\n\n /**\n * Removes tooltip on mouse out\n * @member mouseOut\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOut = (d) => {\n this.removeTooltip(d);\n };\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} rects (svg element)\n */\n const enter = (rects) => {\n rects.enter()\n .append('rect')\n .attr('fill', cs.palette.fill)\n .attr('stroke', cs.palette.stroke)\n .attr('class', this.selector)\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('y', getYCoord)\n .attr('x', cs.y.axisWidth + cs.bar.hPadding)\n .on('mouseover', mouseOver)\n .on('mouseout', mouseOut);\n return rects;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} rects (svg element)\n */\n const transition = (rects) => {\n rects.transition()\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('y', getYCoord)\n .attr('x', cs.y.axisWidth + cs.bar.hPadding);\n return rects;\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} rect (svg element)\n */\n const exit = (rects) => {\n rects.exit().remove();\n return rects;\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.x.scale = d3.scaleLinear()\n .domain([0, this.max])\n .range([0, this.width - cs.bar.hPadding - cs.y.axisWidth]);\n this.ds.forEach(t => cs.y.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.y.range.push(((\n this.displayHeight - cs.x.axisHeight - this.header + cs.bar.vPadding) * i) / this.ds.length));\n cs.y.scale = d3.scaleOrdinal().domain(cs.y.domain).range(cs.y.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.x.axis = d3.axisBottom().ticks(cs.x.ticks, 's').scale(cs.x.scale);\n cs.y.axis = d3.axisLeft().scale(cs.y.scale);\n cs.x.yOffset = this.displayHeight - cs.x.axisHeight;\n cs.x.xOffset = cs.bar.hPadding + cs.y.axisWidth;\n cs.y.yOffset = cs.bar.vPadding + this.header - 1;\n cs.y.xOffset = cs.y.axisWidth;\n if (this.ds[0].dim)\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.y.xOffset}, ${cs.y.yOffset})`).call(cs.y.axis);\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`).call(cs.x.axis);\n };\n /**\n * Get the maximum dimension length\n * @member getMaxDimLength\n * @function\n * @param {number} accumulator\n * @param {number} currentValue\n */\n const getMaxDimLength = (accumulator, currentValue) => {\n return (currentValue.dim.length > accumulator) ? currentValue.dim.length : accumulator;\n }\n\n const rects = svgContainer.selectAll('rect').data(this.ds);\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n if (this.ds[0].dim)\n cs.y.axisWidth = cs.y.axisWidth || (this.ds.reduce(getMaxDimLength, 0)) * 10;\n\n buildScales(cs);\n drawAxis(cs);\n enter(rects);\n transition(rects);\n exit(rects);\n\n return cs;\n};\n\nexport default barChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/barChart.js","/** \n * @fileOverview Verticle Bar Chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n const d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-transition'));\n/**\n * Builds a Verticle Bar Chart.\n * @module vBarChart\n */\n\nconst vBarChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n fill: '#005792',\n stroke: '#d1f4fa',\n },\n bar: {\n hPadding: 0,\n vPadding: 0,\n },\n x: {\n axisHeight: 20,\n domain: [],\n range: [],\n },\n y: {\n axisWidth: 30,\n ticks: 5,\n },\n };\n /**\n * Returns width of the bar\n * @member getWidth\n * @function\n */\n\n const getWidth = () => ((this.width - cs.y.axisWidth) / this.chartData.data.length - 1);\n\n /**\n * Returns height of the bar\n * @member getHeight\n * @function\n * @param {Object} d (svg element)\n */\n const getHeight = d => this.displayHeight - cs.y.scale(d.metric);\n\n /**\n * Returns x axis co-ordinate of the bar\n * @member getXCoord\n * @function\n * @param {Object} d (svg element)\n * @param {Object} i (svg element)\n */\n const getXCoord = (d, i) => (\n i * (this.width - cs.y.axisWidth) / this.chartData.data.length) + cs.y.axisWidth;\n /**\n * Returns y axis co-ordinate of the bar\n * @member getYCoord\n * @function\n * @param {Object} d (svg element)\n */\n const getYCoord = d => cs.y.scale(d.metric);\n\n /**\n * Adds a tooltip on mouse over\n * @member mouseOver\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOver = (d) => {\n this.addTooltip(d, window.event);\n };\n\n /**\n * Removes tooltip on mouse out\n * @member mouseOut\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOut = (d) => {\n this.removeTooltip(d);\n };\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} rects (svg element)\n */\n const enter = (rects) => {\n rects.enter()\n .append('rect')\n .attr('fill', cs.palette.fill)\n .attr('stroke', cs.palette.stroke)\n .attr('class', this.selector)\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('x', getXCoord)\n .attr('y', getYCoord)\n .on('mouseover', mouseOver)\n .on('mouseout', mouseOut);\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} rects (svg element)\n */\n const transition = (rects) => {\n rects.transition()\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('x', getXCoord)\n .attr('y', getYCoord);\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} rects (svg element)\n */\n const exit = (rects) => {\n rects.exit().remove();\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.y.scale = d3.scaleLinear()\n .domain([0, this.max])\n .range([this.displayHeight, this.header]);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push(((\n this.chartData.width - cs.y.axisWidth + cs.bar.vPadding) * i) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale);\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n cs.x.yOffset = this.displayHeight;\n cs.x.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n cs.y.xOffset = cs.y.axisWidth;\n svgContainer.append('g').attr('class', 'axis')\n .attr('transform', `translate(${cs.y.xOffset}, ${cs.y.yOffset})`)\n .call(cs.y.axis);\n if (this.ds[0].dim)\n svgContainer.append('g').attr('class', 'axis')\n .attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`)\n .call(cs.x.axis);\n };\n\n const rects = svgContainer.selectAll('rect').data(this.ds);\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n buildScales(cs);\n drawAxis(cs);\n enter(rects);\n transition(rects);\n exit(rects);\n\n return cs;\n};\n\nexport default vBarChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/vBarChart.js","/** \n * @fileOverview Line Graph component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-shape'));\n/**\n * Builds a Line Graph.\n * @module lineGraph\n */\n\nconst lineGraph = function chart(mode) {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n lineFill: ['#ffcdcd', '#005792'],\n pointFill: '#005792',\n pointStroke: '#d1f4fa',\n },\n x: {\n domain: [],\n range: [],\n axisHeight: 20,\n },\n y: {\n axisWidth: 30,\n ticks: 5,\n },\n };\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} points (svg element) \n */\n const enter = (points, path) => {\n this.metric.forEach( (e, i) => {\n path[i].enter().append('path')\n .attr('d', cs.lineFunction[i](this.ds))\n .attr('fill', 'none')\n .attr('id', 'p' + i)\n .attr('stroke', cs.palette.lineFill[i])\n .attr('stroke-width', 3)\n }) \n \n // points.enter()\n // .append('circle')\n // .attr('class', this.selector)\n // .attr('r', 2)\n // .on('mouseover', (d) => {\n // this.addTooltip(d, window.event);\n // })\n // .on('mouseout', (d) => {\n // this.removeTooltip(d);\n // })\n // .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n // .attr('cy', d => cs.y.scale(d.metric[0]));\n // return points;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} points (svg element) \n */\n const transition = (points, path) => {\n this.metric.forEach( (e, i) => {\n path[i].transition()\n .attr('d', cs.lineFunction[i](this.ds));\n })\n \n // points.transition()\n // .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n // .attr('cy', d => cs.y.scale(d.metric[0]))\n // .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n // .attr('cy', d => cs.y.scale(d.metric[0]));\n // return points;\n };\n\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} points (svg element)\n */\n const exit = (points, path) => {\n points.exit().remove();\n this.metric.forEach( (e, i) => {\n path[i].exit().remove();\n })\n return points;\n };\n\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = cs => {\n cs.y.scale = d3.scaleLinear()\n .domain([this.min, this.max])\n .range([this.displayHeight - cs.x.axisHeight, this.header]);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push(((this.width * i) - this.header) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = cs => {\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n cs.x.xOffset = cs.y.axisWidth + 5;\n cs.x.yOffset = this.displayHeight - cs.x.axisHeight;\n cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale);\n cs.y.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`)\n .call(cs.x.axis);\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.y.xOffset},${cs.y.yOffset})`)\n .call(cs.y.axis);\n };\n\n cs.lineFunction = [];\n this.metric.forEach( (e, i) => {\n cs.lineFunction.push( \n d3.line()\n .x(d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .y(d => cs.y.scale(d.metric[i]))\n ) \n });\n \n const points = svgContainer.selectAll('circle').data(this.ds);\n const path = []\n this.metric.forEach( (e, i) => {\n path.push(svgContainer.selectAll('path#p' + i).data(this.ds))\n })\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n\n buildScales(cs);\n drawAxis(cs);\n enter(points, path);\n transition(points, path);\n exit(points, path);\n\n return cs;\n};\n\nexport default lineGraph;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/lineGraph.js","/** \n * @fileOverview Scatter Plot component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'));\n/**\n * Builds a Scatter Plot.\n * @module scatterPlot\n */\n\nconst scatterPlot = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n x: {\n domain: [],\n range: [],\n axisHeight: 20,\n },\n y: {\n axisWidth: 30,\n ticks: 5,\n },\n };\n const points = svgContainer.selectAll('circle').data(this.ds);\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} p (svg element)\n */\n const enter = (p) => {\n p.enter()\n .append('circle')\n .attr('class', this.selector)\n .attr('r', 2)\n .on('mouseover', (d) => {\n this.addTooltip(d, window.event);\n })\n .on('mouseout', (d) => {\n this.removeTooltip(d);\n })\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric));\n return points;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} p (svg element)\n */\n const transition = (p) => {\n p.transition()\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric))\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric));\n return points;\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} rect (svg element)\n */\n const exit = () => {\n points.exit().remove();\n return points;\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.y.scale = d3.scaleLinear()\n .domain([this.min, this.max])\n .range([this.displayHeight - cs.x.axisHeight, this.header]);\n cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push(((this.width * i) - this.header) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n cs.x.xOffset = cs.y.axisWidth + 5;\n cs.x.yOffset = this.height - cs.x.axisHeight;\n cs.y.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`).call(cs.x.axis);\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.y.xOffset},${cs.y.yOffset})`).call(cs.y.axis);\n };\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n buildScales(cs);\n drawAxis(cs);\n enter(points);\n transition(points);\n exit(points);\n\n return cs;\n};\n\nexport default scatterPlot;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/scatterPlot.js","/** \n * @fileOverview Pie Chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-shape'));\n/**\n * Builds an Pie Chart.\n * @module pieChart\n */\n\nconst pieChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n radius: null,\n ordinalColors: ['#d1f4fa', '#005792', '#ffe6eb', '#ffcdcd'],\n };\n cs.radius = this.height > this.width ? (\n this.width - this.width * 0.1) / 2 : (this.height - this.height * 0.1) / 2;\n\n const color = d3.scaleOrdinal()\n .range(cs.ordinalColors);\n\n /**\n * Returns colors for pie chart\n * @member getColor\n * @function\n */\n const getColor = (d, i) => color(i);\n\n /**\n * Adds a tooltip on mouse over\n * @member mouseOver\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOver = (d) => {\n this.addTooltip(d.data, window.event);\n };\n\n /**\n * Removes tooltip on mouse out\n * @member mouseOut\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOut = (d) => {\n this.removeTooltip(d);\n };\n\n const path = d3.arc()\n .outerRadius(cs.radius - 10)\n .innerRadius(25);\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} arc (svg element)\n */\n const enter = (arc) => {\n arc.enter()\n .append('g')\n .attr('transform', `translate(${this.width / 2},${this.height / 2})`)\n .append('path')\n .merge(arc)\n .attr('class', 'arc')\n .attr('d', path)\n .attr('fill', getColor)\n .on('mouseover', mouseOver)\n .on('mouseout', mouseOut)\n .attr('transform', `translate(0,${this.header})`);\n return arc;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} arc (svg element)\n */\n const transition = (arc) => {\n arc.transition()\n .attr('d', path)\n .attr('fill', getColor);\n return arc;\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} arc (svg element)\n */\n const exit = (arc) => {\n arc.exit().remove();\n return arc;\n };\n\n const pie = d3.pie()\n .sort(null)\n .value(d => d.metric);\n\n const arc = svgContainer.selectAll('.arc')\n .data(pie(this.ds));\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n enter(arc);\n transition(arc);\n exit(arc);\n\n return cs;\n};\n\nexport default pieChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/pieChart.js","/** \n * @fileOverview Area chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-shape'));\n/**\n * Builds an Area Chart.\n * @module areaChart\n */\nconst areaChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n stroke: '#d1f4fa',\n fill: '#005792',\n },\n x: {\n domain: [],\n range: [],\n axisHeight: 45,\n axisWidth: 45,\n },\n y: {\n axisWidth: 45,\n },\n };\n /**\n * Returns plot points \n * @member getPoints\n * @function\n * @param {Object} p\n */\n const getPoints = (p) => {\n let poly = (` ${this.width}, ${cs.x.yOffset} `);\n poly += (` ${cs.x.axisHeight}, ${cs.x.yOffset} `);\n poly += p.map(d => [cs.x.scale(d.dim) + cs.y.axisWidth + 5, cs.y.scale(d.metric)].join(',')).join(' ');\n return poly;\n };\n\n const poly = svgContainer.selectAll('polygon').data([this.ds]);\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} s (svg element)\n */\n const enter = (s) => {\n s.enter()\n .append('polygon')\n .attr('stroke', cs.palette.stroke)\n .attr('fill', cs.palette.fill)\n .attr('points', getPoints);\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} s (svg element)\n */\n const transition = (s) => {\n s.transition()\n .attr('points', getPoints);\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} s (svg element)\n */\n const exit = (s) => {\n s.exit().remove();\n return s;\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.y.scale = d3.scaleLinear()\n .domain([0, this.max])\n .range([this.displayHeight - cs.x.axisHeight, this.titleHeight]);\n cs.y.axis = d3.axisLeft().ticks(10, 's').scale(cs.y.scale);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push((((\n this.width - cs.x.axisWidth) * i)) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.polyFunction = d3.line()\n .x(d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .y(d => cs.y.scale(d.metric));\n cs.x.xOffset = cs.y.axisWidth + 5;\n cs.x.yOffset = this.displayHeight - cs.x.axisHeight;\n cs.y.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n svgContainer.append('g').append('g')\n .attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`)\n .call(cs.x.axis);\n if (this.ds[0].dim)\n svgContainer.append('g').append('g').attr('class', 'axis')\n .attr('transform', `translate(${cs.y.xOffset},${cs.y.yOffset})`)\n .call(cs.y.axis);\n };\n \n cs = this.setOverrides(cs, this.chartData.overrides);\n buildScales(cs);\n drawAxis(cs);\n enter(poly);\n transition(poly);\n exit(poly);\n\n return cs;\n};\n\nexport default areaChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/areaChart.js","/** \n * @fileOverview Chart component containing all of the generic components required for charts\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n */\n\n/* eslint-env browser */\nimport barChart from './import/barChart';\nimport vBarChart from './import/vBarChart';\nimport lineGraph from './import/lineGraph';\nimport scatterPlot from './import/scatterPlot';\nimport pieChart from './import/pieChart';\nimport areaChart from './import/areaChart';\n\nconst d3 = Object.assign({},\n require('d3-selection'));\n\n/**\n * Chart is the generic component used for any chart type\n * @namespace\n */\n \nconst Chart = {\n install(Vue) {\n Vue.component('v-chart', {\n props: ['chartData'],\n data() {\n return {\n selector: `${this.chartData.selector}-${this.chartData.chartType}`,\n };\n },\n methods: {\n /**\n * Generate a new Chart of type chartType\n * @memberOf Chart\n */\n initalizeChart() {\n const cs = this[this.chartData.chartType]('init');\n this.drawTitle();\n this.generateLegend(cs);\n },\n /**\n * Redraw the Chart when the data is recycled\n * @memberOf Chart\n */\n refreshChart() {\n this.clearAxis();\n this[this.chartData.chartType]('refresh');\n },\n /**\n * Remove x and y axes\n * @memberOf Chart\n */\n clearAxis() {\n d3.select(`#${this.chartData.selector}`).selectAll('.axis').remove();\n },\n /**\n * Remove all content from the SVG\n * @memberOf Chart\n */\n clearCanvas() {\n d3.select(`#${this.chartData.selector}`).selectAll('*').remove();\n },\n /**\n * Appends title and subtitle to the chart\n * @memberOf Chart\n */\n drawTitle() {\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', this.width / 2)\n .attr('y', this.titleHeight - this.titleHeight * 0.1)\n .style('text-anchor', 'middle')\n .text(this.chartData.title);\n\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', this.width / 2)\n .attr('y', this.titleHeight - this.titleHeight * 0.1 + this.subtitleHeight)\n .style('text-anchor', 'middle')\n .text(this.chartData.subtitle);\n },\n /**\n * Adds a tooltip to the SVG\n * @memberOf Chart\n * @param {Object} d dataset\n * @param {Object} e event x and y coordinates\n */\n addTooltip(d, e) {\n d3.select(`#${this.chartData.selector}`)\n .append('rect')\n .attr('x', e.layerX - 5 - 50)\n .attr('y', e.layerY - 13 - 25)\n .attr('height', '16px')\n .attr('width', '80px')\n .attr('class', 'tt')\n .attr('fill', 'white');\n\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', e.layerX - 50)\n .attr('y', e.layerY - 25)\n .attr('class', 'tt')\n .attr('font-size', '10px')\n .text(`${d.dim}:${d.metric}`);\n },\n /**\n * Removes all tooltips from the SVG\n * @memberOf Chart\n * @param {Object} d dataset\n */\n removeTooltip() {\n d3.select(`#${this.chartData.selector}`)\n .selectAll('.tt').remove();\n },\n /**\n * Override default values \n * @param {Object} cs configuration of the coordinate systems\n * @param {Object} overrides the additional values that can be used for an object\n * @returns {Object} updated configuration of coordinate system \n */\n setOverrides(cs, overrides) {\n overrides = overrides || {};\n const keys = Object.keys(cs);\n for (const key of keys)\n Object.assign(cs[key], overrides[key]);\n return cs;\n },\n /**\n * Generate legend if option -legends- defined as true\n * @memberOf Chart\n * @param {Object} cs configuration of the coordinate system\n */\n generateLegend(cs) {\n if (this.chartData.legends && this.chartData.legends.enabled === true) {\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', this.width - 60)\n .attr('y', this.height * 0.95)\n .style('text-anchor', 'middle')\n .text(this.chartData.metric[0]);\n\n d3.select(`#${this.chartData.selector}`)\n .append(\"g\")\n .attr(\"class\", \"legends\")\n .append(\"rect\")\n .attr('x', this.width - 30)\n .attr('y', this.height * 0.95 - 10)\n .attr(\"width\", 30)\n .attr(\"height\", 10)\n .style(\"fill\", function () {\n const fill = cs.palette.lineFill || cs.palette.fill;\n return fill;\n });\n }\n },\n\n ...((typeof barChart !== 'undefined') && { barChart }),\n ...((typeof vBarChart !== 'undefined') && { vBarChart }),\n ...((typeof scatterPlot !== 'undefined') && { scatterPlot }),\n ...((typeof pieChart !== 'undefined') && { pieChart }),\n ...((typeof areaChart !== 'undefined') && { areaChart }),\n ...((typeof lineGraph !== 'undefined') && { lineGraph }),\n },\n computed: {\n /**\n * Dataset getter function\n * @memberOf Chart\n * @returns {Object} normalized dataset\n */\n ds() {\n //TODO add in support for arrays with undefined metric\n const ds = { metric: [] };\n if (!Array.isArray(this.chartData.metric)){\n ds.metric.push(this.chartData.metric);\n } else {\n ds.metric = this.chartData.metric;\n }\n ds.dim = this.chartData.dim;\n ds.data = this.chartData.data;\n\n return ds.data.map((d) => {\n const td = {\n metric: []\n };\n ds.metric.forEach(function(e, i){\n td.metric[i] = d[e] || 0;\n })\n td.dim = this.chartData.dim ? d[this.chartData.dim] : null;\n return td;\n });\n },\n /**\n * Metric getter function\n * @memberOf Chart\n * @returns {array} Metrics \n */\n metric() {\n return this.chartData.metric;\n },\n /**\n * Height getter function\n * @memberOf Chart\n * @returns {number} Chart Height\n */\n height() {\n return this.chartData.height || 200;\n },\n /**\n * Width getter function\n * @memberOf Chart\n * @returns {number} Chart width\n */\n width() {\n return this.chartData.width || 200;\n },\n /**\n * Get the maxium value for metric\n * @memberOf Chart\n * @returns {number} Max value for metric\n */\n max() {\n let max = 0;\n var results = []; \n this.ds.forEach(e => {\n results = results.concat([...e.metric]);\n });\n results.forEach((e) => {\n max = max > e ? max : e;\n });\n return max;\n },\n /**\n * Get the minimum value for dataset\n * @memberOf Chart\n * @returns {number} Min value for metric\n */\n min() {\n let max = 0;\n var results = []; \n this.ds.forEach(e => {\n results = results.concat([...e.metric]);\n });\n return Math.min(...results.map(o => o));\n },\n /**\n * Gets the height of the dispaly area\n * @memberOf Chart\n * @returns {number} Height of the chart display\n */\n displayHeight() {\n if (this.chartData.legends && this.chartData.legends.enabled === true) {\n return this.height * .80;\n } else {\n return this.height;\n }\n },\n /**\n * Gets the height of the title \n * @memberOf Chart\n * @returns {number} Height of the chart title\n */\n titleHeight() {\n if (this.chartData.title) return this.chartData.textHeight || 25;\n return 0;\n },\n /**\n * Gets the subtitle height\n * @memberOf Chart\n * @returns {number} Height of chart subtitle\n */\n subtitleHeight() {\n if (this.chartData.subtitle) return this.chartData.textHeight * 0.66 || 25 * 0.66;\n return 0;\n },\n /**\n * Gets the combined height of the title and subtitle\n * @memberOf Chart\n * @returns {number} Total header height\n */\n header() {\n return (this.titleHeight + this.subtitleHeight);\n },\n },\n mounted() {\n this.initalizeChart();\n },\n watch: {\n chartData: {\n handler() {\n this.refreshChart();\n },\n deep: true,\n },\n },\n template:\n ' ',\n });\n },\n};\n\nexport default Chart;\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(Chart);\n}\n\n\n// WEBPACK FOOTER //\n// ./src/v-chart-plugin.js","\nexport default [\n {\n month: 'Jan',\n year: 2018,\n total: 475,\n forecast: 500,\n yoy: 1.05,\n actual: true,\n },\n {\n month: 'Feb',\n year: 2018,\n total: 515,\n forecast: 525,\n yoy: 1.03,\n actual: true,\n },\n {\n month: 'Mar',\n year: 2018,\n total: 390,\n forecast: 480,\n yoy: .95,\n actual: true,\n },\n {\n month: 'Apr',\n year: 2018,\n total: 430,\n forecast: 440,\n yoy: .80,\n actual: true,\n },\n {\n month: 'May',\n year: 2018,\n total: 510,\n forecast: 500,\n yoy: .70,\n actual: true,\n },\n {\n month: 'Jun',\n year: 2018,\n total: 399,\n forecast: 450,\n yoy: .75,\n actual: true,\n },\n {\n month: 'Jul',\n year: 2018,\n total: 601,\n forecast: 550,\n yoy: 1.00,\n actual: true,\n },\n {\n month: 'Aug',\n year: 2018,\n total: 496,\n forecast: 480,\n yoy: 1.15,\n actual: true,\n },\n {\n month: 'Sep',\n year: 2018,\n total: 379,\n forecast: 440,\n yoy: 1.10,\n actual: true,\n },\n {\n month: 'Oct',\n year: 2018,\n total: 410,\n forecast: 430,\n yoy: .85,\n actual: false,\n },\n {\n month: 'Nov',\n year: 2018,\n total: 490,\n forecast: 500,\n yoy: .95,\n actual: false,\n },\n {\n month: 'Dec',\n year: 2018,\n total: 610,\n forecast: 625,\n yoy: 1.01,\n actual: false,\n },\n];\n\n\n\n// WEBPACK FOOTER //\n// ./src/assets/data/sales.js","\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/chartExample.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-6 col-md-4\"},[_vm._l((_vm.sales),function(t,index){return _c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.sales[index].total),expression:\"sales[index].total\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.sales[index].total)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.sales[index], \"total\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_vm._v(\" \"),_c('button',{attrs:{\"type\":\"submit\"},on:{\"click\":function($event){_vm.removeItem(index, $event)}},model:{value:(_vm.sales[index]),callback:function ($$v) {_vm.$set(_vm.sales, index, $$v)},expression:\"sales[index]\"}},[_vm._v(\" [-] \")])])}),_vm._v(\" \"),_c('button',{on:{\"click\":_vm.newItem}},[_vm._v(\" [+] \")])],2),_vm._v(\" \"),_c('div',{staticClass:\"col-6 col-md-8\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('v-chart',{attrs:{\"chartData\":_vm.lineGraphData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.areaChartData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.barChartData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.vBarChartData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.pieChartData}})],1)])])]),_vm._v(\" \"),_vm._m(1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"../assets/img/logo.png\")}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"https://github.com/ignoreintuition/v-chart-plugin\"}},[_c('img',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"border\":\"0\"},attrs:{\"src\":\"https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png\",\"alt\":\"Fork me on GitHub\"}})])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c144c514\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/chartExample.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c144c514\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./chartExample.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./chartExample.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./chartExample.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c144c514\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./chartExample.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/chartExample.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('chartExample')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-233405e9\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-233405e9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-233405e9\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue';\nimport Chart from './v-chart-plugin';\nimport App from './App.vue';\n\nVue.config.productionTip = false;\n\nVue.use(Chart);\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n components: { App },\n template: '',\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","module.exports = __webpack_public_path__ + \"static/img/logo.7eeeac5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo.png\n// module id = dLd/\n// module chunks = 1"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/static/js/app.de77d3a1edc539760483.js b/dist/static/js/app.de77d3a1edc539760483.js new file mode 100644 index 0000000..9f94f10 --- /dev/null +++ b/dist/static/js/app.de77d3a1edc539760483.js @@ -0,0 +1,2 @@ +webpackJsonp([1],{0:function(t,a){},1:function(t,a){},"Gf/I":function(t,a){},NHnr:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var i=e("7+uW"),r=e("Gu7T"),s=e.n(r),n=e("BO1k"),c=e.n(n),l=e("fZjL"),o=e.n(l),h=e("Dd8w"),d=e.n(h),f=e("woOf"),u=e.n(f),x=(e("nFqq"),u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("bmQh"))),m=function(){var t=this,a=x.select("#"+this.chartData.selector),e={palette:{fill:["#005792","#ffcdcd"],stroke:"#d1f4fa"},bar:{hPadding:8,vPadding:5},x:{axisHeight:10,ticks:5},y:{domain:[],range:[],axisWidth:null}},i=function(t){return e.x.scale(t.metric)},r=function(){return((t.displayHeight-e.x.axisHeight-t.header-e.bar.vPadding)/t.ds.length-1)/t.metric.length},s=function(a,i){return i*(t.displayHeight-e.x.axisHeight-t.header)/t.ds.length+1+t.header+e.bar.offset*r()},n=function(a){t.addTooltip(a,window.event)},c=function(a){t.removeTooltip(a)},l=[];return this.metric.forEach(function(e,i){l.push(a.selectAll("rect.r"+i).data(t.ds.map(function(t){return{metric:t.metric[i],dim:t.dim}})))}),e=this.setOverrides(e,this.chartData.overrides),this.ds[0]&&this.ds[0].dim&&(e.y.axisWidth=e.y.axisWidth||10*this.ds.reduce(function(t,a){return a.dim&&a.dim.length>t?a.dim.length:t},0)),e.x.scale=x.scaleLinear().domain([0,t.max]).range([0,t.width-e.bar.hPadding-e.y.axisWidth]),t.ds.forEach(function(t){return e.y.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.y.range.push((t.displayHeight-e.x.axisHeight-t.header+e.bar.vPadding)*i/t.ds.length)}),e.y.scale=x.scaleOrdinal().domain(e.y.domain).range(e.y.range),e.x.axis=x.axisBottom().ticks(e.x.ticks,"s").scale(e.x.scale),e.y.axis=x.axisLeft().scale(e.y.scale),e.x.yOffset=t.displayHeight-e.x.axisHeight,e.x.xOffset=e.bar.hPadding+e.y.axisWidth,e.y.yOffset=e.bar.vPadding+t.header-1,e.y.xOffset=e.y.axisWidth,t.ds[0].dim&&a.append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+", "+e.y.yOffset+")").call(e.y.axis),a.append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),function(l){t.metric.forEach(function(a,o){e.bar.offset=o,l[o].enter().append("rect").attr("fill",e.palette.fill[o]).attr("stroke",e.palette.stroke).attr("class",t.selector).attr("class","r"+o).attr("width",i).attr("height",r).attr("y",s).attr("x",e.y.axisWidth+e.bar.hPadding).on("mouseover",n).on("mouseout",c)}),t.goal&&t.generateGoal(e,a,!1,e.y.axisWidth+e.bar.hPadding)}(l),function(n){t.metric.forEach(function(t,a){e.bar.offset=a,n[a].transition().attr("width",i).attr("height",r).attr("y",s).attr("x",e.y.axisWidth+e.bar.hPadding)}),t.goal&&t.generateGoal(e,a,!1,e.y.axisWidth+e.bar.hPadding)}(l),function(a){t.metric.forEach(function(t,e){a[e].exit().remove()})}(l),e},y=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("n7yu")),p=function(){var t=this,a=y.select("#"+this.chartData.selector),e={palette:{fill:["#005792","#ffcdcd"],stroke:"#d1f4fa"},bar:{hPadding:0,vPadding:0},x:{axisHeight:20,domain:[],range:[]},y:{axisWidth:30,ticks:5}},i=function(){return((t.width-e.y.axisWidth)/t.chartData.data.length-1)/t.metric.length},r=function(a){return t.displayHeight-e.y.scale(a.metric)},s=function(a,r){return r*(t.width-e.y.axisWidth)/t.chartData.data.length+e.y.axisWidth+e.bar.offset*i()},n=function(t){return e.y.scale(t.metric)},c=function(a){t.addTooltip(a,window.event)},l=function(a){t.removeTooltip(a)},o=[];return this.metric.forEach(function(e,i){o.push(a.selectAll("rect.r"+i).data(t.ds.map(function(t){return{metric:t.metric[i],dim:t.dim}})))}),(e=this.setOverrides(e,this.chartData.overrides)).y.scale=y.scaleLinear().domain([0,t.max]).range([t.displayHeight,t.header]),t.ds.forEach(function(t){return e.x.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.x.range.push((t.chartData.width-e.y.axisWidth+e.bar.vPadding)*i/t.ds.length)}),e.x.scale=y.scaleOrdinal().domain(e.x.domain).range(e.x.range),e.y.axis=y.axisLeft().ticks(e.y.ticks,"s").scale(e.y.scale),e.x.axis=y.axisBottom().scale(e.x.scale),e.x.yOffset=t.displayHeight,e.x.xOffset=e.y.axisWidth,e.y.yOffset=0,e.y.xOffset=e.y.axisWidth,a.append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+", "+e.y.yOffset+")").call(e.y.axis),t.ds[0].dim&&a.append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),function(a){t.metric.forEach(function(o,h){e.bar.offset=h,a[h].enter().append("rect").attr("fill",e.palette.fill[h]).attr("stroke",e.palette.stroke).attr("class",t.selector).attr("class","r"+h).attr("width",i).attr("height",r).attr("x",s).attr("y",n).on("mouseover",c).on("mouseout",l)})}(o),function(a){t.metric.forEach(function(t,c){e.bar.offset=c,a[c].transition().attr("width",i).attr("height",r).attr("x",s).attr("y",n)})}(o),function(a){t.metric.forEach(function(t,e){a[e].exit().remove()})}(o),e},g=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("1gFY")),v=function(t){var a=this,e=g.select("#"+this.chartData.selector),i={palette:{lineFill:["#ffcdcd","#005792"],pointFill:"#005792",pointStroke:"#d1f4fa"},x:{domain:[],range:[],axisHeight:20},y:{axisWidth:30,ticks:5}};i.lineFunction=[],this.metric.forEach(function(t,a){i.lineFunction.push(g.line().x(function(t){return i.x.scale(t.dim)+i.y.axisWidth+5}).y(function(t){return i.y.scale(t.metric[a])}))});var r=[];this.metric.forEach(function(t,i){r.push(e.selectAll("circle.r"+i).data(a.ds.map(function(t){return{metric:t.metric[i],dim:t.dim}})))});var s=[];return this.metric.forEach(function(t,i){s.push(e.selectAll("path#p"+i).data(a.ds))}),function(t){t.y.scale=g.scaleLinear().domain([a.min,a.max]).range([a.displayHeight-t.x.axisHeight,a.header]),a.ds.forEach(function(a){return t.x.domain.push(a.dim)}),a.ds.forEach(function(e,i){return t.x.range.push((a.width*i-a.header)/a.ds.length)}),t.x.scale=g.scaleOrdinal().domain(t.x.domain).range(t.x.range)}(i=this.setOverrides(i,this.chartData.overrides)),function(t){t.x.axis=g.axisBottom().scale(t.x.scale),t.x.xOffset=t.y.axisWidth+5,t.x.yOffset=a.displayHeight-t.x.axisHeight,t.y.axis=g.axisLeft().ticks(t.y.ticks,"s").scale(t.y.scale),t.y.xOffset=t.y.axisWidth,t.y.yOffset=0,e.append("g").attr("class","axis").attr("transform","translate("+t.x.xOffset+", "+t.x.yOffset+")").call(t.x.axis),e.append("g").attr("class","axis").attr("transform","translate("+t.y.xOffset+","+t.y.yOffset+")").call(t.y.axis)}(i),function(t,r){a.metric.forEach(function(t,e){r[e].enter().append("path").attr("d",i.lineFunction[e](a.ds)).attr("fill","none").attr("id","p"+e).attr("stroke",i.palette.lineFill[e]).attr("stroke-width",3)}),a.metric.forEach(function(e,r){i.offset=r,t[r].enter().append("circle").attr("class",a.selector).attr("class","r"+r).attr("r",2).on("mouseover",function(t){a.addTooltip(t,window.event)}).on("mouseout",function(t){a.removeTooltip(t)}).attr("cx",function(t){return i.x.scale(t.dim)+i.y.axisWidth+5}).attr("cy",function(t){return i.y.scale(t.metric)})}),a.goal&&a.generateGoal(i,e,!0,0)}(r,s),function(t,r){a.metric.forEach(function(t,e){r[e].transition().attr("d",i.lineFunction[e](a.ds))}),a.metric.forEach(function(a,e){i.offset=e,t[e].transition().attr("cx",function(t){return i.x.scale(t.dim)+i.y.axisWidth+5}).attr("cy",function(t){return i.y.scale(t.metric)}).attr("cx",function(t){return i.x.scale(t.dim)+i.y.axisWidth+5}).attr("cy",function(t){return i.y.scale(t.metric)})}),a.goal&&a.generateGoal(i,e,!0,0)}(r,s),function(t,e){a.metric.forEach(function(a,e){t[e].exit().remove()}),a.metric.forEach(function(t,a){e[a].exit().remove()})}(r,s),i},w=u()({},e("sHXk"),e("dJjO"),e("Mx2h")),D=function(){var t=this,a=w.select("#"+this.chartData.selector),e={x:{domain:[],range:[],axisHeight:20},y:{axisWidth:30,ticks:5}},i=a.selectAll("circle").data(this.ds);return(e=this.setOverrides(e,this.chartData.overrides)).y.scale=w.scaleLinear().domain([t.min,t.max]).range([t.displayHeight-e.x.axisHeight,t.header]),e.y.axis=w.axisLeft().ticks(e.y.ticks,"s").scale(e.y.scale),t.ds.forEach(function(t){return e.x.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.x.range.push((t.width*i-t.header)/t.ds.length)}),e.x.scale=w.scaleOrdinal().domain(e.x.domain).range(e.x.range),e.x.axis=w.axisBottom().scale(e.x.scale),e.x.xOffset=e.y.axisWidth+5,e.x.yOffset=t.height-e.x.axisHeight,e.y.xOffset=e.y.axisWidth,e.y.yOffset=0,a.append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),a.append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+","+e.y.yOffset+")").call(e.y.axis),i.enter().append("circle").attr("class",t.selector).attr("r",2).on("mouseover",function(a){t.addTooltip(a,window.event)}).on("mouseout",function(a){t.removeTooltip(a)}).attr("cx",function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).attr("cy",function(t){return e.y.scale(t.metric)}),function(t){t.transition().attr("cx",function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).attr("cy",function(t){return e.y.scale(t.metric)}).attr("cx",function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).attr("cy",function(t){return e.y.scale(t.metric)})}(i),i.exit().remove(),e},O=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("1gFY")),b=function(){var t=this,a=O.select("#"+this.chartData.selector),e={radius:null,ordinalColors:["#d1f4fa","#005792","#ffe6eb","#ffcdcd"]};e.radius=this.height>this.width?(this.width-.1*this.width)/2:(this.height-.1*this.height)/2;var i=O.scaleOrdinal().range(e.ordinalColors),r=function(t,a){return i(a)},s=function(a){t.addTooltip(a.data,window.event)},n=function(a){t.removeTooltip(a)},c=O.arc().outerRadius(e.radius-10).innerRadius(25),l=O.pie().sort(null).value(function(t){return t.metric}),o=a.selectAll(".arc").data(l(this.ds));return e=this.setOverrides(e,this.chartData.overrides),function(a){a.enter().append("g").attr("transform","translate("+t.width/2+","+t.height/2+")").append("path").merge(a).attr("class","arc").attr("d",c).attr("fill",r).on("mouseover",s).on("mouseout",n).attr("transform","translate(0,"+t.header+")")}(o),function(t){t.transition().attr("d",c).attr("fill",r)}(o),function(t){t.exit().remove()}(o),e},H=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("1gFY")),k=function(){var t=this,a=H.select("#"+this.chartData.selector),e={palette:{stroke:"#d1f4fa",fill:"#005792"},x:{domain:[],range:[],axisHeight:45,axisWidth:45},y:{axisWidth:45}},i=function(a){var i=" "+t.width+", "+e.x.yOffset+" ";return i+=" "+e.x.axisHeight+", "+e.x.yOffset+" ",i+=a.map(function(t){return[e.x.scale(t.dim)+e.y.axisWidth+5,e.y.scale(t.metric)].join(",")}).join(" ")},r=a.selectAll("polygon").data([this.ds]);return(e=this.setOverrides(e,this.chartData.overrides)).y.scale=H.scaleLinear().domain([0,t.max]).range([t.displayHeight-e.x.axisHeight,t.titleHeight]),e.y.axis=H.axisLeft().ticks(10,"s").scale(e.y.scale),t.ds.forEach(function(t){return e.x.domain.push(t.dim)}),t.ds.forEach(function(a,i){return e.x.range.push((t.width-e.x.axisWidth)*i/t.ds.length)}),e.x.scale=H.scaleOrdinal().domain(e.x.domain).range(e.x.range),e.x.axis=H.axisBottom().scale(e.x.scale),e.polyFunction=H.line().x(function(t){return e.x.scale(t.dim)+e.y.axisWidth+5}).y(function(t){return e.y.scale(t.metric)}),e.x.xOffset=e.y.axisWidth+5,e.x.yOffset=t.displayHeight-e.x.axisHeight,e.y.xOffset=e.y.axisWidth,e.y.yOffset=0,a.append("g").append("g").attr("class","axis").attr("transform","translate("+e.x.xOffset+", "+e.x.yOffset+")").call(e.x.axis),t.ds[0].dim&&a.append("g").append("g").attr("class","axis").attr("transform","translate("+e.y.xOffset+","+e.y.yOffset+")").call(e.y.axis),r.enter().append("polygon").attr("stroke",e.palette.stroke).attr("fill",e.palette.fill).attr("points",i),function(t){t.transition().attr("points",i)}(r),function(t){t.exit().remove()}(r),e},C=u()({},e("sHXk"),e("dJjO"),e("Mx2h"),e("1gFY")),W=function(t){var a=this,e=C.select("#"+this.chartData.selector),i={palette:{pointFill:"#005792",pointStroke:"#d1f4fa"},x:{domain:[],range:[],axisHeight:20},y:{axisWidth:30,ticks:5},r:{}},r=e.selectAll("circle").data(this.ds);return function(t){t.y.scale=C.scaleLinear().domain([a.minTriplet.v1,a.maxTriplet.v1]).range([a.displayHeight-t.x.axisHeight,a.header]),t.x.scale=C.scaleLinear().domain([a.minTriplet.v2,a.maxTriplet.v2]).range([0,a.width]),t.r.scale=C.scaleLinear().domain([a.minTriplet.v3,a.maxTriplet.v3]).range([0,20])}(i=this.setOverrides(i,this.chartData.overrides)),function(t){t.x.axis=C.axisBottom().scale(t.x.scale),t.x.xOffset=t.y.axisWidth+5,t.x.yOffset=a.displayHeight-t.x.axisHeight,t.y.axis=C.axisLeft().ticks(t.y.ticks,"s").scale(t.y.scale),t.y.xOffset=t.y.axisWidth,t.y.yOffset=0,e.append("g").attr("class","axis").attr("transform","translate("+t.x.xOffset+", "+t.x.yOffset+")").call(t.x.axis),e.append("g").attr("class","axis").attr("transform","translate("+t.y.xOffset+","+t.y.yOffset+")").call(t.y.axis)}(i),function(t){t.enter().append("circle").attr("class",a.selector).attr("r",function(t){return i.r.scale(t.metric[2])}).attr("cx",function(t){return i.x.scale(t.metric[0])+i.y.axisWidth+5}).attr("cy",function(t){return i.y.scale(t.metric[1])})}(r),function(t){t.transition().attr("r",function(t){return i.r.scale(t.metric[2])}).attr("cx",function(t){return i.x.scale(t.metric[0])+i.y.axisWidth+5}).attr("cy",function(t){return i.y.scale(t.metric[1])})}(r),function(t){t.exit().remove()}(r),i},E=u()({},e("sHXk")),T={install:function(t){t.component("v-chart",{props:["chartData"],data:function(){return{selector:this.chartData.selector+"-"+this.chartData.chartType}},methods:d()({initalizeChart:function(){var t=this[this.chartData.chartType]("init");this.drawTitle(),this.generateLegend(t)},refreshChart:function(){this.clearAxis(),this[this.chartData.chartType]("refresh")},clearAxis:function(){E.select("#"+this.chartData.selector).selectAll(".axis").remove()},clearCanvas:function(){E.select("#"+this.chartData.selector).selectAll("*").remove()},drawTitle:function(){E.select("#"+this.chartData.selector).append("text").attr("x",this.width/2).attr("y",this.titleHeight-.1*this.titleHeight).style("text-anchor","middle").text(this.chartData.title),E.select("#"+this.chartData.selector).append("text").attr("x",this.width/2).attr("y",this.titleHeight-.1*this.titleHeight+this.subtitleHeight).style("text-anchor","middle").text(this.chartData.subtitle)},addTooltip:function(t,a){E.select("#"+this.chartData.selector).append("rect").attr("x",a.layerX-5-50).attr("y",a.layerY-13-25).attr("height","16px").attr("width","80px").attr("class","tt").attr("fill","white"),E.select("#"+this.chartData.selector).append("text").attr("x",a.layerX-50).attr("y",a.layerY-25).attr("class","tt").attr("font-size","10px").text(t.dim+":"+t.metric)},removeTooltip:function(){E.select("#"+this.chartData.selector).selectAll(".tt").remove()},setOverrides:function(t,a){a=a||{};var e=o()(t),i=!0,r=!1,s=void 0;try{for(var n,l=c()(e);!(i=(n=l.next()).done);i=!0){var h=n.value;u()(t[h],a[h])}}catch(t){r=!0,s=t}finally{try{!i&&l.return&&l.return()}finally{if(r)throw s}}return t},generateLegend:function(t){var a=this;this.chartData.legends&&!0===this.chartData.legends.enabled&&(t.palette.lineFill=Array.isArray(t.palette.lineFill)?t.palette.lineFill:new Array(t.palette.lineFill),t.palette.fill=Array.isArray(t.palette.fill)?t.palette.fill:new Array(t.palette.fill),this.metric.forEach(function(e,i){E.select("#"+a.chartData.selector).append("text").attr("x",a.width-60).attr("y",.95*a.height-15*i).style("text-anchor","middle").text(a.metric[i]),E.select("#"+a.chartData.selector).append("g").attr("class","legends").append("rect").attr("x",a.width-30).attr("y",.95*a.height-15*i-10).attr("width",30).attr("height",10).style("fill",function(){return t.palette.lineFill[i]||t.palette.fill[i]})}))},generateGoal:function(t,a,e,i){a.selectAll("line#goal").remove();var r=e?t.y.axisWidth:t.x.scale(this.goal)+i,s=e?500:t.x.scale(this.goal)+i,n=e?t.y.scale(this.goal)+i:this.header,c=e?t.y.scale(this.goal)+i:this.displayHeight-t.x.axisHeight;a.append("line").attr("x1",r).attr("x2",s).attr("y1",n).attr("y2",c).attr("id","goal").style("stroke","#708090").style("stroke-width",1)}},{barChart:m},{vBarChart:p},{scatterPlot:D},{pieChart:b},{areaChart:k},{lineGraph:v},{bubbleChart:W}),computed:{ds:function(){var t=this,a={metric:[]};return a.metric=Array.isArray(this.chartData.metric)?a.metric=this.chartData.metric:new Array(this.chartData.metric),a.dim=this.chartData.dim,a.data=this.chartData.data,a.data.map(function(e){var i={metric:[]};return a.metric[0]?a.metric.forEach(function(t,a){i.metric[a]=e[t]||0}):i.metric[0]=e||0,i.dim=t.chartData.dim?e[t.chartData.dim]:null,i})},goal:function(){return this.chartData.goal},metric:function(){var t=Array.isArray(this.chartData.metric)?this.chartData.metric:new Array(this.chartData.metric);return t},height:function(){return this.chartData.height||200},width:function(){return this.chartData.width||200},max:function(){var t=0,a=[];return this.ds.forEach(function(t){a=a.concat([].concat(s()(t.metric)))}),a.forEach(function(a){t=t>a?t:a}),t},maxTriplet:function(){var t={v1:0,v2:0,v3:0};return this.ds.forEach(function(a){t.v1=t.v1>a.metric[0]?t.v1:a.metric[0],t.v2=t.v2>a.metric[1]?t.v2:a.metric[1],t.v3=t.v3>a.metric[2]?t.v3:a.metric[2]}),t},min:function(){var t=[];return this.ds.forEach(function(a){t=t.concat([].concat(s()(a.metric)))}),Math.min.apply(Math,s()(t.map(function(t){return t})))},minTriplet:function(){var t={v1:[],v2:[],v3:[]};return this.ds.forEach(function(a){t.v1.push(a.metric[0]),t.v2.push(a.metric[1]),t.v3.push(a.metric[2])}),{v1:Math.min.apply(Math,s()(t.v1.map(function(t){return t}))),v2:Math.min.apply(Math,s()(t.v2.map(function(t){return t}))),v3:Math.min.apply(Math,s()(t.v3.map(function(t){return t})))}},displayHeight:function(){return this.chartData.legends&&!0===this.chartData.legends.enabled?.8*this.height:this.height},titleHeight:function(){return this.chartData.title?this.chartData.textHeight||25:0},subtitleHeight:function(){return this.chartData.subtitle?.66*this.chartData.textHeight||16.5:0},header:function(){return this.titleHeight+this.subtitleHeight}},mounted:function(){this.initalizeChart()},watch:{chartData:{handler:function(){this.refreshChart()},deep:!0}},template:" "})}},A=T;"undefined"!=typeof window&&window.Vue&&window.Vue.use(T);var _=[{month:"Jan",year:2018,total:475,forecast:500,yoy:1.05,actual:!0},{month:"Feb",year:2018,total:515,forecast:525,yoy:1.03,actual:!0},{month:"Mar",year:2018,total:390,forecast:480,yoy:.95,actual:!0},{month:"Apr",year:2018,total:430,forecast:440,yoy:.8,actual:!0},{month:"May",year:2018,total:510,forecast:500,yoy:.7,actual:!0},{month:"Jun",year:2018,total:399,forecast:450,yoy:.75,actual:!0},{month:"Jul",year:2018,total:601,forecast:550,yoy:1,actual:!0},{month:"Aug",year:2018,total:496,forecast:480,yoy:1.15,actual:!0},{month:"Sep",year:2018,total:379,forecast:440,yoy:1.1,actual:!0},{month:"Oct",year:2018,total:410,forecast:430,yoy:.85,actual:!1},{month:"Nov",year:2018,total:490,forecast:500,yoy:.95,actual:!1},{month:"Dec",year:2018,total:610,forecast:625,yoy:1.01,actual:!1}],F={name:"barChartExample",methods:{newItem:function(){this.sales.push({month:null,year:null,total:null,actual:!1})},removeItem:function(t,a){a.preventDefault(),this.sales.splice(t,1)}},data:function(){return{sales:_,areaChartData:{chartType:"areaChart",selector:"areaChart",title:"Area Chart",width:300,height:200,metric:["total"],dim:"month",data:_,legends:{enabled:!0,height:25,width:50}},bubbleChartData:{chartType:"bubbleChart",selector:"chart",title:"Bar Chart",subtitle:"Sales by month",width:600,height:500,metric:["total","forecast","yoy"],data:_,goal:500,legends:{enabled:!0,height:25,width:50}},lineGraphData:{chartType:"lineGraph",selector:"lineGraph",title:"Line Graph",width:200,subtitle:"Sales by month",height:200,goal:500,metric:["total","forecast"],dim:"month",data:_,legends:{enabled:!0,height:25,width:50}},vBarChartData:{chartType:"vBarChart",selector:"vChart",title:"Verticle Bar Chart",subtitle:"Sales by month",width:300,height:300,metric:["total","forecast"],dim:"month",data:_,legends:{enabled:!0,height:25,width:50}},pieChartData:{chartType:"pieChart",selector:"pieChart",title:"Pie Chart",subtitle:"Sales by month",width:300,height:200,metric:"total",dim:"month",data:_},scatterPlotData:{chartType:"scatterPlot",selector:"scatterPlot",title:"Scatter Plot",subtitle:"Sales by month",width:300,height:200,metric:"total",dim:"month",data:_,legends:{enabled:!0,height:25,width:50}}}}},P={render:function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"container"},[t._m(0),t._v(" "),e("div",{staticClass:"row"},[e("div",{staticClass:"form-group col-6 col-md-4"},[t._l(t.sales,function(a,i){return e("div",[e("input",{directives:[{name:"model",rawName:"v-model.number",value:t.sales[i].total,expression:"sales[index].total",modifiers:{number:!0}}],attrs:{type:"number"},domProps:{value:t.sales[i].total},on:{input:function(a){a.target.composing||t.$set(t.sales[i],"total",t._n(a.target.value))},blur:function(a){t.$forceUpdate()}}}),t._v(" "),e("button",{attrs:{type:"submit"},on:{click:function(a){t.removeItem(i,a)}},model:{value:t.sales[i],callback:function(a){t.$set(t.sales,i,a)},expression:"sales[index]"}},[t._v(" [-] ")])])}),t._v(" "),e("button",{on:{click:t.newItem}},[t._v(" [+] ")])],2),t._v(" "),e("div",{staticClass:"col-6 col-md-8"},[e("div",{staticClass:"row"},[e("div",{staticClass:"col-12"},[e("v-chart",{attrs:{chartData:t.bubbleChartData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.areaChartData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.lineGraphData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.vBarChartData}})],1),t._v(" "),e("div",{staticClass:"col-12 col-lg-6"},[e("v-chart",{attrs:{chartData:t.pieChartData}})],1)])])]),t._v(" "),t._m(1)])},staticRenderFns:[function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"row"},[a("div",{staticClass:"col"},[a("img",{staticClass:"logo",attrs:{src:e("dLd/")}})])])},function(){var t=this.$createElement,a=this._self._c||t;return a("a",{attrs:{href:"https://github.com/ignoreintuition/v-chart-plugin"}},[a("img",{staticStyle:{position:"absolute",top:"0",right:"0",border:"0"},attrs:{src:"https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png",alt:"Fork me on GitHub"}})])}]};var L={name:"App",components:{chartExample:e("VU/8")(F,P,!1,function(t){e("zyUG")},null,null).exports}},M={render:function(){var t=this.$createElement,a=this._self._c||t;return a("div",{attrs:{id:"app"}},[a("chartExample")],1)},staticRenderFns:[]};var G=e("VU/8")(L,M,!1,function(t){e("Gf/I")},null,null).exports;i.a.config.productionTip=!1,i.a.use(A),new i.a({el:"#app",components:{App:G},template:""})},"dLd/":function(t,a,e){t.exports=e.p+"static/img/logo.7eeeac5.png"},zyUG:function(t,a){}},["NHnr"]); +//# sourceMappingURL=app.de77d3a1edc539760483.js.map \ No newline at end of file diff --git a/dist/static/js/app.de77d3a1edc539760483.js.map b/dist/static/js/app.de77d3a1edc539760483.js.map new file mode 100644 index 0000000..1134197 --- /dev/null +++ b/dist/static/js/app.de77d3a1edc539760483.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/import/barChart.js","webpack:///./src/import/vBarChart.js","webpack:///./src/import/lineGraph.js","webpack:///./src/import/scatterPlot.js","webpack:///./src/import/pieChart.js","webpack:///./src/import/areaChart.js","webpack:///./src/import/bubbleChart.js","webpack:///./src/v-chart-plugin.js","webpack:///./src/assets/data/sales.js","webpack:///src/components/chartExample.vue","webpack:///./src/components/chartExample.vue?7676","webpack:///./src/components/chartExample.vue","webpack:///src/App.vue","webpack:///./src/App.vue?b8d2","webpack:///./src/App.vue","webpack:///./src/main.js","webpack:///./src/assets/img/logo.png"],"names":["d3","assign_default","require","barChart","_this","this","svgContainer","select","chartData","selector","cs","palette","fill","stroke","bar","hPadding","vPadding","x","axisHeight","ticks","y","domain","range","axisWidth","getWidth","d","scale","metric","getHeight","displayHeight","header","ds","length","getYCoord","i","offset","mouseOver","addTooltip","window","event","mouseOut","removeTooltip","rects","forEach","e","push","selectAll","data","map","dim","setOverrides","overrides","reduce","accumulator","currentValue","scaleLinear","max","width","t","scaleOrdinal","axis","axisBottom","axisLeft","yOffset","xOffset","append","attr","call","enter","on","goal","generateGoal","transition","exit","remove","vBarChart","getXCoord","lineGraph","mode","lineFill","pointFill","pointStroke","lineFunction","line","points","path","min","buildScales","drawAxis","scatterPlot","height","p","pieChart","radius","ordinalColors","color","getColor","arc","outerRadius","innerRadius","pie","sort","value","merge","areaChart","getPoints","poly","join","titleHeight","polyFunction","s","r","minTriplet","v1","maxTriplet","v2","v3","Chart","install","Vue","component","props","chartType","methods","initalizeChart","drawTitle","generateLegend","refreshChart","clearAxis","clearCanvas","style","text","title","subtitleHeight","subtitle","layerX","layerY","keys","keys_default","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","get_iterator_default","next","done","key","err","return","legends","enabled","Array","isArray","shiftAxis","padding","x1","x2","y1","y2","bubbleChart","computed","_this2","td","results","concat","toConsumableArray_default","Math","apply","o","textHeight","mounted","watch","handler","deep","template","use","sales","month","year","total","forecast","yoy","actual","chartExample","name","newItem","removeItem","preventDefault","splice","areaChartData","bubbleChartData","lineGraphData","vBarChartData","pieChartData","scatterPlotData","components_chartExample","render","_vm","_h","$createElement","_c","_self","staticClass","_m","_v","_l","index","directives","rawName","expression","modifiers","number","attrs","type","domProps","input","$event","target","composing","$set","_n","blur","$forceUpdate","click","model","callback","$$v","staticRenderFns","src","__webpack_require__","href","staticStyle","position","top","right","border","alt","App","components","normalizeComponent","ssrContext","selectortype_template_index_0_src_App","id","src_App","App_normalizeComponent","config","productionTip","el","module","exports"],"mappings":"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","file":"static/js/app.de77d3a1edc539760483.js","sourcesContent":["import { globalAgent } from 'http';\n\n/** \n * @fileOverview Bar chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-ease'));\n/**\n * Builds a Bar Chart.\n * @module barChart\n */\n\nconst barChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n fill: ['#005792', '#ffcdcd'],\n stroke: '#d1f4fa',\n },\n bar: {\n hPadding: 8,\n vPadding: 5,\n },\n x: {\n axisHeight: 10,\n ticks: 5,\n },\n y: {\n domain: [],\n range: [],\n axisWidth: null,\n },\n };\n\n /**\n * Returns width of the bar\n * @member getWidth\n * @function\n * @param {Object} d (svg element)\n */\n const getWidth = d => cs.x.scale(d.metric);\n\n /**\n * Returns height of the bar\n * @member getHeight\n * @function\n */\n const getHeight = () => (\n (this.displayHeight - cs.x.axisHeight - this.header - cs.bar.vPadding) / this.ds.length - 1) / this.metric.length ;\n\n /**\n * Returns y axis co-ordinate of the bar\n * @member getYCoord\n * @function\n * @param {Object} d (svg element)\n * @param {Object} i (svg element)\n */\n const getYCoord = (d, i) => i * (\n this.displayHeight - cs.x.axisHeight - this.header) / this.ds.length + 1 + this.header + cs.bar.offset * getHeight();\n\n /**\n * Adds a tooltip on mouse over\n * @member mouseOver\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOver = (d) => {\n this.addTooltip(d, window.event);\n };\n\n /**\n * Removes tooltip on mouse out\n * @member mouseOut\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOut = (d) => {\n this.removeTooltip(d);\n };\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} rects (svg element)\n */\n const enter = (rects) => {\n this.metric.forEach( (e, i) => {\n cs.bar.offset = i;\n rects[i].enter()\n .append('rect')\n .attr('fill', cs.palette.fill[i])\n .attr('stroke', cs.palette.stroke)\n .attr('class', this.selector)\n .attr('class', 'r' + i)\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('y', getYCoord)\n .attr('x', cs.y.axisWidth + cs.bar.hPadding)\n .on('mouseover', mouseOver)\n .on('mouseout', mouseOut);\n });\n if (this.goal) this.generateGoal(cs, svgContainer, false, cs.y.axisWidth + cs.bar.hPadding);\n return rects;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} rects (svg element)\n */\n const transition = (rects) => {\n this.metric.forEach( (e, i) => {\n cs.bar.offset = i;\n rects[i].transition()\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('y', getYCoord)\n .attr('x', cs.y.axisWidth + cs.bar.hPadding);\n });\n if (this.goal) this.generateGoal(cs, svgContainer, false, cs.y.axisWidth + cs.bar.hPadding);\n return rects;\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} rect (svg element)\n */\n const exit = (rects) => {\n this.metric.forEach( (e, i) => {\n rects[i].exit().remove();\n });\n return rects;\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.x.scale = d3.scaleLinear()\n .domain([0, this.max])\n .range([0, this.width - cs.bar.hPadding - cs.y.axisWidth]);\n this.ds.forEach(t => cs.y.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.y.range.push(((\n this.displayHeight - cs.x.axisHeight - this.header + cs.bar.vPadding) * i) / this.ds.length));\n cs.y.scale = d3.scaleOrdinal().domain(cs.y.domain).range(cs.y.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.x.axis = d3.axisBottom().ticks(cs.x.ticks, 's').scale(cs.x.scale);\n cs.y.axis = d3.axisLeft().scale(cs.y.scale);\n cs.x.yOffset = this.displayHeight - cs.x.axisHeight;\n cs.x.xOffset = cs.bar.hPadding + cs.y.axisWidth;\n cs.y.yOffset = cs.bar.vPadding + this.header - 1;\n cs.y.xOffset = cs.y.axisWidth;\n if (this.ds[0].dim)\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.y.xOffset}, ${cs.y.yOffset})`).call(cs.y.axis);\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`).call(cs.x.axis);\n };\n /**\n * Get the maximum dimension length\n * @member getMaxDimLength\n * @function\n * @param {number} accumulator\n * @param {number} currentValue\n */\n const getMaxDimLength = (accumulator, currentValue) => {\n if(!currentValue.dim) return accumulator;\n return (currentValue.dim.length > accumulator) ? currentValue.dim.length : accumulator;\n }\n\n const rects = []\n this.metric.forEach( (e, i) => {\n rects.push(svgContainer.selectAll('rect.r' + i).data(this.ds.map(d => {\n return {\n metric: d.metric[i],\n dim: d.dim\n } \n })))\n })\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n if (this.ds[0] && this.ds[0].dim)\n cs.y.axisWidth = cs.y.axisWidth || (this.ds.reduce(getMaxDimLength, 0)) * 10;\n\n buildScales(cs);\n drawAxis(cs);\n enter(rects);\n transition(rects);\n exit(rects);\n\n return cs;\n};\n\nexport default barChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/barChart.js","/** \n * @fileOverview Verticle Bar Chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n const d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-transition'));\n/**\n * Builds a Verticle Bar Chart.\n * @module vBarChart\n */\n\nconst vBarChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n fill: ['#005792', '#ffcdcd'],\n stroke: '#d1f4fa',\n },\n bar: {\n hPadding: 0,\n vPadding: 0,\n },\n x: {\n axisHeight: 20,\n domain: [],\n range: [],\n },\n y: {\n axisWidth: 30,\n ticks: 5,\n },\n };\n /**\n * Returns width of the bar\n * @member getWidth\n * @function\n */\n\n const getWidth = () => ((this.width - cs.y.axisWidth) / this.chartData.data.length - 1) / this.metric.length ;\n\n /**\n * Returns height of the bar\n * @member getHeight\n * @function\n * @param {Object} d (svg element)\n */\n const getHeight = d => this.displayHeight - cs.y.scale(d.metric);\n\n /**\n * Returns x axis co-ordinate of the bar\n * @member getXCoord\n * @function\n * @param {Object} d (svg element)\n * @param {Object} i (svg element)\n */\n const getXCoord = (d, i) => (\n i * (this.width - cs.y.axisWidth) / this.chartData.data.length) + cs.y.axisWidth + cs.bar.offset * getWidth();\n /**\n * Returns y axis co-ordinate of the bar\n * @member getYCoord\n * @function\n * @param {Object} d (svg element)\n */\n const getYCoord = d => cs.y.scale(d.metric);\n\n /**\n * Adds a tooltip on mouse over\n * @member mouseOver\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOver = (d) => {\n this.addTooltip(d, window.event);\n };\n\n /**\n * Removes tooltip on mouse out\n * @member mouseOut\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOut = (d) => {\n this.removeTooltip(d);\n };\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} rects (svg element)\n */\n const enter = (rects) => {\n this.metric.forEach( (e, i) => {\n cs.bar.offset = i;\n rects[i].enter()\n .append('rect')\n .attr('fill', cs.palette.fill[i])\n .attr('stroke', cs.palette.stroke)\n .attr('class', this.selector)\n .attr('class', 'r' + i)\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('x', getXCoord)\n .attr('y', getYCoord)\n .on('mouseover', mouseOver)\n .on('mouseout', mouseOut);\n });\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} rects (svg element)\n */\n const transition = (rects) => {\n this.metric.forEach( (e, i) => {\n cs.bar.offset = i;\n rects[i].transition()\n .attr('width', getWidth)\n .attr('height', getHeight)\n .attr('x', getXCoord)\n .attr('y', getYCoord);\n });\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} rects (svg element)\n */\n const exit = (rects) => {\n this.metric.forEach( (e, i) => {\n rects[i].exit().remove();\n });\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.y.scale = d3.scaleLinear()\n .domain([0, this.max])\n .range([this.displayHeight, this.header]);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push(((\n this.chartData.width - cs.y.axisWidth + cs.bar.vPadding) * i) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale);\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n cs.x.yOffset = this.displayHeight;\n cs.x.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n cs.y.xOffset = cs.y.axisWidth;\n svgContainer.append('g').attr('class', 'axis')\n .attr('transform', `translate(${cs.y.xOffset}, ${cs.y.yOffset})`)\n .call(cs.y.axis);\n if (this.ds[0].dim)\n svgContainer.append('g').attr('class', 'axis')\n .attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`)\n .call(cs.x.axis);\n };\n\n const rects = []\n this.metric.forEach( (e, i) => {\n rects.push(svgContainer.selectAll('rect.r' + i).data(this.ds.map(d => {\n return {\n metric: d.metric[i],\n dim: d.dim\n } \n })))\n })\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n buildScales(cs);\n drawAxis(cs);\n enter(rects);\n transition(rects);\n exit(rects);\n\n return cs;\n};\n\nexport default vBarChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/vBarChart.js","/** \n * @fileOverview Line Graph component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-shape'));\n/**\n * Builds a Line Graph.\n * @module lineGraph\n */\n\nconst lineGraph = function chart(mode) {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n lineFill: ['#ffcdcd', '#005792'],\n pointFill: '#005792',\n pointStroke: '#d1f4fa',\n },\n x: {\n domain: [],\n range: [],\n axisHeight: 20,\n },\n y: {\n axisWidth: 30,\n ticks: 5,\n },\n };\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} points (svg element) \n */\n const enter = (points, path) => {\n this.metric.forEach( (e, i) => {\n path[i].enter().append('path')\n .attr('d', cs.lineFunction[i](this.ds))\n .attr('fill', 'none')\n .attr('id', 'p' + i)\n .attr('stroke', cs.palette.lineFill[i])\n .attr('stroke-width', 3)\n }) \n this.metric.forEach( (e, i) => {\n cs.offset = i; \n points[i].enter()\n .append('circle')\n .attr('class', this.selector)\n .attr('class', \"r\" + i)\n .attr('r', 2)\n .on('mouseover', (d) => {\n this.addTooltip(d, window.event);\n })\n .on('mouseout', (d) => {\n this.removeTooltip(d);\n })\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric));\n });\n if (this.goal) this.generateGoal(cs, svgContainer, true, 0);\n return points;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} points (svg element) \n */\n const transition = (points, path) => {\n this.metric.forEach( (e, i) => {\n path[i].transition()\n .attr('d', cs.lineFunction[i](this.ds));\n })\n \n this.metric.forEach( (e, i) => {\n cs.offset = i; \n points[i].transition()\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric))\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric));\n });\n if (this.goal) this.generateGoal(cs, svgContainer, true, 0);\n return points;\n };\n\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} points (svg element)\n */\n const exit = (points, path) => {\n this.metric.forEach( (e, i) => {\n points[i].exit().remove();\n });\n this.metric.forEach( (e, i) => {\n path[i].exit().remove();\n });\n return points;\n };\n\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = cs => {\n cs.y.scale = d3.scaleLinear()\n .domain([this.min, this.max])\n .range([this.displayHeight - cs.x.axisHeight, this.header]);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push(((this.width * i) - this.header) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = cs => {\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n cs.x.xOffset = cs.y.axisWidth + 5;\n cs.x.yOffset = this.displayHeight - cs.x.axisHeight;\n cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale);\n cs.y.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`)\n .call(cs.x.axis);\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.y.xOffset},${cs.y.yOffset})`)\n .call(cs.y.axis);\n };\n\n cs.lineFunction = [];\n this.metric.forEach( (e, i) => {\n cs.lineFunction.push( \n d3.line()\n .x(d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .y(d => cs.y.scale(d.metric[i]))\n ) \n });\n \n const points = [];\n this.metric.forEach( (e, i) => {\n points.push(svgContainer.selectAll('circle.r' + i).data(this.ds.map(d => {\n return {\n metric: d.metric[i],\n dim: d.dim\n } \n })))\n })\n\n const path = []\n this.metric.forEach( (e, i) => {\n path.push(svgContainer.selectAll('path#p' + i).data(this.ds))\n })\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n\n buildScales(cs);\n drawAxis(cs);\n enter(points, path);\n transition(points, path);\n exit(points, path);\n\n return cs;\n};\n\nexport default lineGraph;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/lineGraph.js","/** \n * @fileOverview Scatter Plot component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'));\n/**\n * Builds a Scatter Plot.\n * @module scatterPlot\n */\n\nconst scatterPlot = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n x: {\n domain: [],\n range: [],\n axisHeight: 20,\n },\n y: {\n axisWidth: 30,\n ticks: 5,\n },\n };\n const points = svgContainer.selectAll('circle').data(this.ds);\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} p (svg element)\n */\n const enter = (p) => {\n p.enter()\n .append('circle')\n .attr('class', this.selector)\n .attr('r', 2)\n .on('mouseover', (d) => {\n this.addTooltip(d, window.event);\n })\n .on('mouseout', (d) => {\n this.removeTooltip(d);\n })\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric));\n return points;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} p (svg element)\n */\n const transition = (p) => {\n p.transition()\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric))\n .attr('cx', d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric));\n return points;\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} rect (svg element)\n */\n const exit = () => {\n points.exit().remove();\n return points;\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.y.scale = d3.scaleLinear()\n .domain([this.min, this.max])\n .range([this.displayHeight - cs.x.axisHeight, this.header]);\n cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push(((this.width * i) - this.header) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n cs.x.xOffset = cs.y.axisWidth + 5;\n cs.x.yOffset = this.height - cs.x.axisHeight;\n cs.y.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`).call(cs.x.axis);\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.y.xOffset},${cs.y.yOffset})`).call(cs.y.axis);\n };\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n buildScales(cs);\n drawAxis(cs);\n enter(points);\n transition(points);\n exit(points);\n\n return cs;\n};\n\nexport default scatterPlot;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/scatterPlot.js","/** \n * @fileOverview Pie Chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-shape'));\n/**\n * Builds an Pie Chart.\n * @module pieChart\n */\n\nconst pieChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n radius: null,\n ordinalColors: ['#d1f4fa', '#005792', '#ffe6eb', '#ffcdcd'],\n };\n cs.radius = this.height > this.width ? (\n this.width - this.width * 0.1) / 2 : (this.height - this.height * 0.1) / 2;\n\n const color = d3.scaleOrdinal()\n .range(cs.ordinalColors);\n\n /**\n * Returns colors for pie chart\n * @member getColor\n * @function\n */\n const getColor = (d, i) => color(i);\n\n /**\n * Adds a tooltip on mouse over\n * @member mouseOver\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOver = (d) => {\n this.addTooltip(d.data, window.event);\n };\n\n /**\n * Removes tooltip on mouse out\n * @member mouseOut\n * @function\n * @param {Object} d (svg element)\n */\n const mouseOut = (d) => {\n this.removeTooltip(d);\n };\n\n const path = d3.arc()\n .outerRadius(cs.radius - 10)\n .innerRadius(25);\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} arc (svg element)\n */\n const enter = (arc) => {\n arc.enter()\n .append('g')\n .attr('transform', `translate(${this.width / 2},${this.height / 2})`)\n .append('path')\n .merge(arc)\n .attr('class', 'arc')\n .attr('d', path)\n .attr('fill', getColor)\n .on('mouseover', mouseOver)\n .on('mouseout', mouseOut)\n .attr('transform', `translate(0,${this.header})`);\n return arc;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} arc (svg element)\n */\n const transition = (arc) => {\n arc.transition()\n .attr('d', path)\n .attr('fill', getColor);\n return arc;\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} arc (svg element)\n */\n const exit = (arc) => {\n arc.exit().remove();\n return arc;\n };\n\n const pie = d3.pie()\n .sort(null)\n .value(d => d.metric);\n\n const arc = svgContainer.selectAll('.arc')\n .data(pie(this.ds));\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n enter(arc);\n transition(arc);\n exit(arc);\n\n return cs;\n};\n\nexport default pieChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/pieChart.js","/** \n * @fileOverview Area chart component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\n\n /* eslint-env browser */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-shape'));\n/**\n * Builds an Area Chart.\n * @module areaChart\n */\nconst areaChart = function chart() {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n stroke: '#d1f4fa',\n fill: '#005792',\n },\n x: {\n domain: [],\n range: [],\n axisHeight: 45,\n axisWidth: 45,\n },\n y: {\n axisWidth: 45,\n },\n };\n /**\n * Returns plot points \n * @member getPoints\n * @function\n * @param {Object} p\n */\n const getPoints = (p) => {\n let poly = (` ${this.width}, ${cs.x.yOffset} `);\n poly += (` ${cs.x.axisHeight}, ${cs.x.yOffset} `);\n poly += p.map(d => [cs.x.scale(d.dim) + cs.y.axisWidth + 5, cs.y.scale(d.metric)].join(',')).join(' ');\n return poly;\n };\n\n const poly = svgContainer.selectAll('polygon').data([this.ds]);\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} s (svg element)\n */\n const enter = (s) => {\n s.enter()\n .append('polygon')\n .attr('stroke', cs.palette.stroke)\n .attr('fill', cs.palette.fill)\n .attr('points', getPoints);\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} s (svg element)\n */\n const transition = (s) => {\n s.transition()\n .attr('points', getPoints);\n };\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} s (svg element)\n */\n const exit = (s) => {\n s.exit().remove();\n return s;\n };\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = () => {\n cs.y.scale = d3.scaleLinear()\n .domain([0, this.max])\n .range([this.displayHeight - cs.x.axisHeight, this.titleHeight]);\n cs.y.axis = d3.axisLeft().ticks(10, 's').scale(cs.y.scale);\n this.ds.forEach(t => cs.x.domain.push(t.dim));\n this.ds.forEach((t, i) => cs.x.range.push((((\n this.width - cs.x.axisWidth) * i)) / this.ds.length));\n cs.x.scale = d3.scaleOrdinal().domain(cs.x.domain).range(cs.x.range);\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = () => {\n cs.polyFunction = d3.line()\n .x(d => cs.x.scale(d.dim) + cs.y.axisWidth + 5)\n .y(d => cs.y.scale(d.metric));\n cs.x.xOffset = cs.y.axisWidth + 5;\n cs.x.yOffset = this.displayHeight - cs.x.axisHeight;\n cs.y.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n svgContainer.append('g').append('g')\n .attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`)\n .call(cs.x.axis);\n if (this.ds[0].dim)\n svgContainer.append('g').append('g').attr('class', 'axis')\n .attr('transform', `translate(${cs.y.xOffset},${cs.y.yOffset})`)\n .call(cs.y.axis);\n };\n \n cs = this.setOverrides(cs, this.chartData.overrides);\n buildScales(cs);\n drawAxis(cs);\n enter(poly);\n transition(poly);\n exit(poly);\n\n return cs;\n};\n\nexport default areaChart;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/areaChart.js","/** \n * @fileOverview Line Graph component definition\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n * @requires src/v-chart-plugin.js\n */\nconst d3 = Object.assign({},\n require('d3-selection'),\n require('d3-scale'),\n require('d3-axis'),\n require('d3-shape'));\n/**\n * Builds a Line Graph.\n * @module lineGraph\n */\n\nconst lineGraph = function chart(mode) {\n /**\n * The SVG that stores the chart\n * @member svgContainer\n */\n const svgContainer = d3.select(`#${this.chartData.selector}`);\n /**\n * The configuration of the coordinate system\n * @member cs\n */\n let cs = {\n palette: {\n pointFill: '#005792',\n pointStroke: '#d1f4fa',\n },\n x: {\n domain: [],\n range: [],\n axisHeight: 20,\n },\n y: {\n axisWidth: 30,\n ticks: 5,\n },\n r: {\n\n }\n };\n\n /**\n * Runs when a new element is added to the dataset\n * @member enter\n * @function\n * @param {Object} points (svg element) \n */\n const enter = (points) => {\n points.enter()\n .append('circle')\n .attr('class', this.selector)\n .attr('r', d => cs.r.scale(d.metric[2]))\n .attr('cx', d => cs.x.scale(d.metric[0]) + cs.y.axisWidth + 5) \n .attr('cy', d => cs.y.scale(d.metric[1]));\n return points;\n };\n /**\n * Runs when a value of an element in dataset is changed\n * @member transition\n * @function\n * @param {Object} points (svg element) \n */\n const transition = (points) => {\n points.transition()\n .attr('r', d => cs.r.scale(d.metric[2]))\n .attr('cx', d => cs.x.scale(d.metric[0]) + cs.y.axisWidth + 5)\n .attr('cy', d => cs.y.scale(d.metric[1]));\n return points;\n };\n\n /**\n * Runs when an element is removed from the dataset\n * @member exit\n * @function\n * @param {Object} points (svg element)\n */\n const exit = (points) => {\n points.exit().remove();\n return points;\n };\n\n /**\n * Builds the scales for the x and y axes\n * @member buildScales\n * @function\n */\n const buildScales = cs => {\n cs.y.scale = d3.scaleLinear()\n .domain([this.minTriplet.v1, this.maxTriplet.v1])\n .range([this.displayHeight - cs.x.axisHeight, this.header]);\n cs.x.scale = d3.scaleLinear()\n .domain([this.minTriplet.v2, this.maxTriplet.v2])\n .range([0, this.width]);\n cs.r.scale = d3.scaleLinear()\n .domain([this.minTriplet.v3, this.maxTriplet.v3])\n .range([0, 20]);\n };\n /**\n * Draws the x and y axes on the svg\n * @member drawAxis\n * @function\n */\n const drawAxis = cs => {\n cs.x.axis = d3.axisBottom().scale(cs.x.scale);\n cs.x.xOffset = cs.y.axisWidth + 5;\n cs.x.yOffset = this.displayHeight - cs.x.axisHeight;\n cs.y.axis = d3.axisLeft().ticks(cs.y.ticks, 's').scale(cs.y.scale);\n cs.y.xOffset = cs.y.axisWidth;\n cs.y.yOffset = 0;\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.x.xOffset}, ${cs.x.yOffset})`)\n .call(cs.x.axis);\n svgContainer.append('g').attr('class', 'axis').attr('transform', `translate(${cs.y.xOffset},${cs.y.yOffset})`)\n .call(cs.y.axis);\n };\n \n const points = svgContainer.selectAll('circle').data(this.ds);\n\n cs = this.setOverrides(cs, this.chartData.overrides);\n\n buildScales(cs);\n drawAxis(cs);\n enter(points);\n transition(points);\n exit(points);\n\n return cs;\n};\n\nexport default lineGraph;\n\n\n\n// WEBPACK FOOTER //\n// ./src/import/bubbleChart.js","/** \n * @fileOverview Chart component containing all of the generic components required for charts\n *\n * @author Brian Greig\n *\n * @requires NPM:d3:Vue\n */\n\n/* eslint-env browser */\nimport barChart from './import/barChart';\nimport vBarChart from './import/vBarChart';\nimport lineGraph from './import/lineGraph';\nimport scatterPlot from './import/scatterPlot';\nimport pieChart from './import/pieChart';\nimport areaChart from './import/areaChart';\nimport bubbleChart from './import/bubbleChart';\n\nconst d3 = Object.assign({},\n require('d3-selection'));\n\n/**\n * Chart is the generic component used for any chart type\n * @namespace\n */\n \nconst Chart = {\n install(Vue) {\n Vue.component('v-chart', {\n props: ['chartData'],\n data() {\n return {\n selector: `${this.chartData.selector}-${this.chartData.chartType}`,\n };\n },\n methods: {\n /**\n * Generate a new Chart of type chartType\n * @memberOf Chart\n */\n initalizeChart() {\n const cs = this[this.chartData.chartType]('init');\n this.drawTitle();\n this.generateLegend(cs);\n },\n /**\n * Redraw the Chart when the data is recycled\n * @memberOf Chart\n */\n refreshChart() {\n this.clearAxis();\n this[this.chartData.chartType]('refresh');\n },\n /**\n * Remove x and y axes\n * @memberOf Chart\n */\n clearAxis() {\n d3.select(`#${this.chartData.selector}`).selectAll('.axis').remove();\n },\n /**\n * Remove all content from the SVG\n * @memberOf Chart\n */\n clearCanvas() {\n d3.select(`#${this.chartData.selector}`).selectAll('*').remove();\n },\n /**\n * Appends title and subtitle to the chart\n * @memberOf Chart\n */\n drawTitle() {\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', this.width / 2)\n .attr('y', this.titleHeight - this.titleHeight * 0.1)\n .style('text-anchor', 'middle')\n .text(this.chartData.title);\n\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', this.width / 2)\n .attr('y', this.titleHeight - this.titleHeight * 0.1 + this.subtitleHeight)\n .style('text-anchor', 'middle')\n .text(this.chartData.subtitle);\n },\n /**\n * Adds a tooltip to the SVG\n * @memberOf Chart\n * @param {Object} d dataset\n * @param {Object} e event x and y coordinates\n */\n addTooltip(d, e) {\n d3.select(`#${this.chartData.selector}`)\n .append('rect')\n .attr('x', e.layerX - 5 - 50)\n .attr('y', e.layerY - 13 - 25)\n .attr('height', '16px')\n .attr('width', '80px')\n .attr('class', 'tt')\n .attr('fill', 'white');\n\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', e.layerX - 50)\n .attr('y', e.layerY - 25)\n .attr('class', 'tt')\n .attr('font-size', '10px')\n .text(`${d.dim}:${d.metric}`);\n },\n /**\n * Removes all tooltips from the SVG\n * @memberOf Chart\n * @param {Object} d dataset\n */\n removeTooltip() {\n d3.select(`#${this.chartData.selector}`)\n .selectAll('.tt').remove();\n },\n /**\n * Override default values \n * @param {Object} cs configuration of the coordinate systems\n * @param {Object} overrides the additional values that can be used for an object\n * @returns {Object} updated configuration of coordinate system \n */\n setOverrides(cs, overrides) {\n overrides = overrides || {};\n const keys = Object.keys(cs);\n for (const key of keys)\n Object.assign(cs[key], overrides[key]);\n return cs;\n },\n /**\n * Generate legend if option -legends- defined as true\n * @memberOf Chart\n * @param {Object} cs configuration of the coordinate system\n */\n generateLegend(cs) {\n if (this.chartData.legends && this.chartData.legends.enabled === true) {\n cs.palette.lineFill = (Array.isArray(cs.palette.lineFill)) ? cs.palette.lineFill : new Array(cs.palette.lineFill); \n cs.palette.fill = (Array.isArray(cs.palette.fill)) ? cs.palette.fill : new Array(cs.palette.fill); \n this.metric.forEach( (e, i) => {\n d3.select(`#${this.chartData.selector}`)\n .append('text')\n .attr('x', this.width - 60)\n .attr('y', this.height * 0.95 - (i * 15))\n .style('text-anchor', 'middle')\n .text(this.metric[i]);\n\n d3.select(`#${this.chartData.selector}`)\n .append(\"g\")\n .attr(\"class\", \"legends\")\n .append(\"rect\")\n .attr('x', this.width - 30)\n .attr('y', this.height * 0.95 - (i * 15) - 10)\n .attr(\"width\", 30)\n .attr(\"height\", 10)\n .style(\"fill\", function () {\n const fill = cs.palette.lineFill[i] || cs.palette.fill[i];\n return fill;\n });\n })\n }\n },\n /**\n * Generate Goal \n * @memberOf Chart\n * @param {Object} cs configuration of the coordinate system\n */\n\n generateGoal(cs, svgContainer, shiftAxis, padding) {\n svgContainer.selectAll('line#goal').remove();\n const x1 = shiftAxis ? cs.y.axisWidth: cs.x.scale(this.goal) + padding;\n const x2 = shiftAxis ? 500 : cs.x.scale(this.goal) + padding;\n const y1 = shiftAxis ? cs.y.scale(this.goal) + padding : this.header;\n const y2 = shiftAxis ? cs.y.scale(this.goal) + padding : this.displayHeight - cs.x.axisHeight;\n \n svgContainer.append(\"line\")\n .attr('x1', x1)\n .attr('x2', x2)\n .attr('y1', y1)\n .attr('y2', y2)\n .attr('id', 'goal')\n .style('stroke', '#708090')\n .style('stroke-width', 1)\n },\n\n ...((typeof barChart !== 'undefined') && { barChart }),\n ...((typeof vBarChart !== 'undefined') && { vBarChart }),\n ...((typeof scatterPlot !== 'undefined') && { scatterPlot }),\n ...((typeof pieChart !== 'undefined') && { pieChart }),\n ...((typeof areaChart !== 'undefined') && { areaChart }),\n ...((typeof lineGraph !== 'undefined') && { lineGraph }),\n ...((typeof bubbleChart !== 'undefined') && { bubbleChart }),\n },\n computed: {\n /**\n * Dataset getter function\n * @memberOf Chart\n * @returns {Object} normalized dataset\n */\n ds() {\n const ds = { metric: [] };\n ds.metric = (Array.isArray(this.chartData.metric)) ? ds.metric = this.chartData.metric : new Array(this.chartData.metric);\n ds.dim = this.chartData.dim;\n ds.data = this.chartData.data;\n return ds.data.map((d) => {\n const td = { metric: [] };\n if (!ds.metric[0])\n td.metric[0] = d || 0;\n else {\n ds.metric.forEach(function(e, i){\n td.metric[i] = d[e] || 0;\n })\n }\n td.dim = this.chartData.dim ? d[this.chartData.dim] : null;\n return td;\n });\n },\n /**\n * Goal getter function\n * @memberOf Chart\n * @returns {number} Goal \n */\n goal() {\n return this.chartData.goal;\n },\n /**\n * Metric getter function\n * @memberOf Chart\n * @returns {array} Metrics \n */\n metric() {\n const metric = (Array.isArray(this.chartData.metric)) ? this.chartData.metric : new Array(this.chartData.metric);\n return metric;\n },\n /**\n * Height getter function\n * @memberOf Chart\n * @returns {number} Chart Height\n */\n height() {\n return this.chartData.height || 200;\n },\n /**\n * Width getter function\n * @memberOf Chart\n * @returns {number} Chart width\n */\n width() {\n return this.chartData.width || 200;\n },\n /**\n * Get the maxium value for metric\n * @memberOf Chart\n * @returns {number} Max value for metric\n */\n max() {\n let max = 0;\n var results = []; \n this.ds.forEach(e => {\n results = results.concat([...e.metric]);\n });\n results.forEach((e) => {\n max = max > e ? max : e;\n });\n return max;\n },\n /**\n * Get the maxium value for triplet\n * @memberOf Chart\n * @returns {Array} Max values for triplet\n */\n maxTriplet() {\n const max = {\n v1: 0,\n v2: 0,\n v3: 0\n };\n this.ds.forEach(e => {\n max.v1 = max.v1 > e.metric[0] ? max.v1 : e.metric[0];\n max.v2 = max.v2 > e.metric[1] ? max.v2 : e.metric[1];\n max.v3 = max.v3 > e.metric[2] ? max.v3 : e.metric[2];\n });\n return max;\n },\n /**\n * Get the minimum value for dataset\n * @memberOf Chart\n * @returns {number} Min value for metric\n */\n min() {\n var results = []; \n this.ds.forEach(e => {\n results = results.concat([...e.metric]);\n });\n return Math.min(...results.map(o => o));\n },\n /**\n * Get the minimum value for triplet\n * @memberOf Chart\n * @returns {Array} Min values for triplet\n */\n minTriplet() {\n var results = {\n v1: [],\n v2: [],\n v3: []\n };\n this.ds.forEach(e => {\n results.v1.push(e.metric[0])\n results.v2.push(e.metric[1])\n results.v3.push(e.metric[2])\n })\n return {\n v1: (Math.min(...results.v1.map(o => o))),\n v2: (Math.min(...results.v2.map(o => o))),\n v3: (Math.min(...results.v3.map(o => o)))\n };\n },\n /**\n * Gets the height of the dispaly area\n * @memberOf Chart\n * @returns {number} Height of the chart display\n */\n displayHeight() {\n if (this.chartData.legends && this.chartData.legends.enabled === true) {\n return this.height * .80;\n } else {\n return this.height;\n }\n },\n /**\n * Gets the height of the title \n * @memberOf Chart\n * @returns {number} Height of the chart title\n */\n titleHeight() {\n if (this.chartData.title) return this.chartData.textHeight || 25;\n return 0;\n },\n /**\n * Gets the subtitle height\n * @memberOf Chart\n * @returns {number} Height of chart subtitle\n */\n subtitleHeight() {\n if (this.chartData.subtitle) return this.chartData.textHeight * 0.66 || 25 * 0.66;\n return 0;\n },\n /**\n * Gets the combined height of the title and subtitle\n * @memberOf Chart\n * @returns {number} Total header height\n */\n header() {\n return (this.titleHeight + this.subtitleHeight);\n },\n },\n mounted() {\n this.initalizeChart();\n },\n watch: {\n chartData: {\n handler() {\n this.refreshChart();\n },\n deep: true,\n },\n },\n template:\n ' ',\n });\n },\n};\n\nexport default Chart;\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(Chart);\n}\n\n\n// WEBPACK FOOTER //\n// ./src/v-chart-plugin.js","\nexport default [\n {\n month: 'Jan',\n year: 2018,\n total: 475,\n forecast: 500,\n yoy: 1.05,\n actual: true,\n },\n {\n month: 'Feb',\n year: 2018,\n total: 515,\n forecast: 525,\n yoy: 1.03,\n actual: true,\n },\n {\n month: 'Mar',\n year: 2018,\n total: 390,\n forecast: 480,\n yoy: .95,\n actual: true,\n },\n {\n month: 'Apr',\n year: 2018,\n total: 430,\n forecast: 440,\n yoy: .80,\n actual: true,\n },\n {\n month: 'May',\n year: 2018,\n total: 510,\n forecast: 500,\n yoy: .70,\n actual: true,\n },\n {\n month: 'Jun',\n year: 2018,\n total: 399,\n forecast: 450,\n yoy: .75,\n actual: true,\n },\n {\n month: 'Jul',\n year: 2018,\n total: 601,\n forecast: 550,\n yoy: 1.00,\n actual: true,\n },\n {\n month: 'Aug',\n year: 2018,\n total: 496,\n forecast: 480,\n yoy: 1.15,\n actual: true,\n },\n {\n month: 'Sep',\n year: 2018,\n total: 379,\n forecast: 440,\n yoy: 1.10,\n actual: true,\n },\n {\n month: 'Oct',\n year: 2018,\n total: 410,\n forecast: 430,\n yoy: .85,\n actual: false,\n },\n {\n month: 'Nov',\n year: 2018,\n total: 490,\n forecast: 500,\n yoy: .95,\n actual: false,\n },\n {\n month: 'Dec',\n year: 2018,\n total: 610,\n forecast: 625,\n yoy: 1.01,\n actual: false,\n },\n];\n\n\n\n// WEBPACK FOOTER //\n// ./src/assets/data/sales.js","\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/chartExample.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-6 col-md-4\"},[_vm._l((_vm.sales),function(t,index){return _c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.sales[index].total),expression:\"sales[index].total\",modifiers:{\"number\":true}}],attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.sales[index].total)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.sales[index], \"total\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_vm._v(\" \"),_c('button',{attrs:{\"type\":\"submit\"},on:{\"click\":function($event){_vm.removeItem(index, $event)}},model:{value:(_vm.sales[index]),callback:function ($$v) {_vm.$set(_vm.sales, index, $$v)},expression:\"sales[index]\"}},[_vm._v(\" [-] \")])])}),_vm._v(\" \"),_c('button',{on:{\"click\":_vm.newItem}},[_vm._v(\" [+] \")])],2),_vm._v(\" \"),_c('div',{staticClass:\"col-6 col-md-8\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('v-chart',{attrs:{\"chartData\":_vm.bubbleChartData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.areaChartData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.lineGraphData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.vBarChartData}})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('v-chart',{attrs:{\"chartData\":_vm.pieChartData}})],1)])])]),_vm._v(\" \"),_vm._m(1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"../assets/img/logo.png\")}})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"https://github.com/ignoreintuition/v-chart-plugin\"}},[_c('img',{staticStyle:{\"position\":\"absolute\",\"top\":\"0\",\"right\":\"0\",\"border\":\"0\"},attrs:{\"src\":\"https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png\",\"alt\":\"Fork me on GitHub\"}})])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3dc95b9c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/chartExample.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3dc95b9c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./chartExample.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./chartExample.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./chartExample.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3dc95b9c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./chartExample.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/chartExample.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('chartExample')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-233405e9\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-233405e9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-233405e9\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue';\nimport Chart from './v-chart-plugin';\nimport App from './App.vue';\n\nVue.config.productionTip = false;\n\nVue.use(Chart);\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n components: { App },\n template: '',\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","module.exports = __webpack_public_path__ + \"static/img/logo.7eeeac5.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/img/logo.png\n// module id = dLd/\n// module chunks = 1"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/static/js/manifest.c423efaf7696a83d1404.js.map b/dist/static/js/manifest.c423efaf7696a83d1404.js.map index c30537d..02668a2 100644 --- a/dist/static/js/manifest.c423efaf7696a83d1404.js.map +++ b/dist/static/js/manifest.c423efaf7696a83d1404.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 523384c07f267f713757"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,wBAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.c423efaf7696a83d1404.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/v-chart-plugin-demo/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 523384c07f267f713757"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 3b87ef995f8983170b2c"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,wBAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.c423efaf7696a83d1404.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/v-chart-plugin-demo/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3b87ef995f8983170b2c"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/static/js/vendor.204a476a59e23f5db787.js b/dist/static/js/vendor.204a476a59e23f5db787.js deleted file mode 100644 index 3dfd9f7..0000000 --- a/dist/static/js/vendor.204a476a59e23f5db787.js +++ /dev/null @@ -1,8 +0,0 @@ -webpackJsonp([0],{"+E39":function(t,n,e){t.exports=!e("S82l")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"+ZMJ":function(t,n,e){var r=e("lOnJ");t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},"+tPU":function(t,n,e){e("xGkn");for(var r=e("7KvD"),i=e("hJx8"),o=e("/bQp"),a=e("dSzd")("toStringTag"),u="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),s=0;s1e-6)if(Math.abs(f*s-c*l)>1e-6&&o){var p=e-a,d=i-u,v=s*s+c*c,_=p*p+d*d,y=Math.sqrt(v),g=Math.sqrt(h),m=o*Math.tan((r-Math.acos((v+h-_)/(2*y*g)))/2),x=m/g,w=m/y;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*l)+","+(n+x*f)),this._+="A"+o+","+o+",0,0,"+ +(f*p>l*d)+","+(this._x1=t+w*s)+","+(this._y1=n+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,a,u,s){t=+t,n=+n;var c=(e=+e)*Math.cos(a),l=e*Math.sin(a),f=t+c,h=n+l,p=1^s,d=s?a-u:u-a;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+f+","+h:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+="L"+f+","+h),e&&(d<0&&(d=d%i+i),d>o?this._+="A"+e+","+e+",0,1,"+p+","+(t-c)+","+(n-l)+"A"+e+","+e+",0,1,"+p+","+(this._x1=f)+","+(this._y1=h):d>1e-6&&(this._+="A"+e+","+e+",0,"+ +(d>=r)+","+p+","+(this._x1=t+e*Math.cos(u))+","+(this._y1=n+e*Math.sin(u))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};var s=u,c=function(t){return function(){return t}},l=Math.abs,f=Math.atan2,h=Math.cos,p=Math.max,d=Math.min,v=Math.sin,_=Math.sqrt,y=1e-12,g=Math.PI,m=g/2,x=2*g;function w(t){return t>=1?m:t<=-1?-m:Math.asin(t)}function b(t){return t.innerRadius}function M(t){return t.outerRadius}function k(t){return t.startAngle}function T(t){return t.endAngle}function C(t){return t&&t.padAngle}function A(t,n,e,r,i,o,a){var u=t-e,s=n-r,c=(a?o:-o)/_(u*u+s*s),l=c*s,f=-c*u,h=t+l,d=n+f,v=e+l,y=r+f,g=(h+v)/2,m=(d+y)/2,x=v-h,w=y-d,b=x*x+w*w,M=i-o,k=h*y-v*d,T=(w<0?-1:1)*_(p(0,M*M*b-k*k)),C=(k*w-x*T)/b,A=(-k*x-w*T)/b,S=(k*w+x*T)/b,O=(-k*x+w*T)/b,$=C-g,N=A-m,E=S-g,j=O-m;return $*$+N*N>E*E+j*j&&(C=S,A=O),{cx:C,cy:A,x01:-l,y01:-f,x11:C*(i/M-1),y11:A*(i/M-1)}}var S=function(){var t=b,n=M,e=c(0),r=null,i=k,o=T,a=C,u=null;function p(){var c,p,b,M=+t.apply(this,arguments),k=+n.apply(this,arguments),T=i.apply(this,arguments)-m,C=o.apply(this,arguments)-m,S=l(C-T),O=C>T;if(u||(u=c=s()),ky)if(S>x-y)u.moveTo(k*h(T),k*v(T)),u.arc(0,0,k,T,C,!O),M>y&&(u.moveTo(M*h(C),M*v(C)),u.arc(0,0,M,C,T,O));else{var $,N,E=T,j=C,D=T,P=C,L=S,I=S,F=a.apply(this,arguments)/2,U=F>y&&(r?+r.apply(this,arguments):_(M*M+k*k)),R=d(l(k-M)/2,+e.apply(this,arguments)),B=R,H=R;if(U>y){var z=w(U/M*v(F)),q=w(U/k*v(F));(L-=2*z)>y?(D+=z*=O?1:-1,P-=z):(L=0,D=P=(T+C)/2),(I-=2*q)>y?(E+=q*=O?1:-1,j-=q):(I=0,E=j=(T+C)/2)}var V=k*h(E),Y=k*v(E),X=M*h(P),J=M*v(P);if(R>y){var Q=k*h(j),G=k*v(j),W=M*h(D),K=M*v(D);if(Sy?function(t,n,e,r,i,o,a,u){var s=e-t,c=r-n,l=a-i,f=u-o,h=(l*(n-o)-f*(t-i))/(f*s-l*c);return[t+h*s,n+h*c]}(V,Y,W,K,Q,G,X,J):[X,J],tt=V-Z[0],nt=Y-Z[1],et=Q-Z[0],rt=G-Z[1],it=1/v(((b=(tt*et+nt*rt)/(_(tt*tt+nt*nt)*_(et*et+rt*rt)))>1?0:b<-1?g:Math.acos(b))/2),ot=_(Z[0]*Z[0]+Z[1]*Z[1]);B=d(R,(M-ot)/(it-1)),H=d(R,(k-ot)/(it+1))}}I>y?H>y?($=A(W,K,V,Y,k,H,O),N=A(Q,G,X,J,k,H,O),u.moveTo($.cx+$.x01,$.cy+$.y01),Hy&&L>y?B>y?($=A(X,J,Q,G,M,-B,O),N=A(V,Y,W,K,M,-B,O),u.lineTo($.cx+$.x01,$.cy+$.y01),B=f;--h)u.point(y[h],g[h]);u.lineEnd(),u.areaEnd()}_&&(y[l]=+t(p,l,c),g[l]=+e(p,l,c),u.point(n?+n(p,l,c):y[l],r?+r(p,l,c):g[l]))}if(d)return u=null,d+""||null}function f(){return j().defined(i).curve(a).context(o)}return l.x=function(e){return arguments.length?(t="function"==typeof e?e:c(+e),n=null,l):t},l.x0=function(n){return arguments.length?(t="function"==typeof n?n:c(+n),l):t},l.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:c(+t),l):n},l.y=function(t){return arguments.length?(e="function"==typeof t?t:c(+t),r=null,l):e},l.y0=function(t){return arguments.length?(e="function"==typeof t?t:c(+t),l):e},l.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:c(+t),l):r},l.lineX0=l.lineY0=function(){return f().x(t).y(e)},l.lineY1=function(){return f().x(t).y(r)},l.lineX1=function(){return f().x(n).y(e)},l.defined=function(t){return arguments.length?(i="function"==typeof t?t:c(!!t),l):i},l.curve=function(t){return arguments.length?(a=t,null!=o&&(u=a(o)),l):a},l.context=function(t){return arguments.length?(null==t?o=u=null:u=a(o=t),l):o},l},P=function(t,n){return nt?1:n>=t?0:NaN},L=function(t){return t},I=function(){var t=L,n=P,e=null,r=c(0),i=c(x),o=c(0);function a(a){var u,s,c,l,f,h=a.length,p=0,d=new Array(h),v=new Array(h),_=+r.apply(this,arguments),y=Math.min(x,Math.max(-x,i.apply(this,arguments)-_)),g=Math.min(Math.abs(y)/h,o.apply(this,arguments)),m=g*(y<0?-1:1);for(u=0;u0&&(p+=f);for(null!=n?d.sort(function(t,e){return n(v[t],v[e])}):null!=e&&d.sort(function(t,n){return e(a[t],a[n])}),u=0,c=p?(y-h*m)/p:0;u0?f*c:0)+m,v[s]={data:a[s],index:u,value:f,startAngle:_,endAngle:l,padAngle:g};return v}return a.value=function(n){return arguments.length?(t="function"==typeof n?n:c(+n),a):t},a.sortValues=function(t){return arguments.length?(n=t,e=null,a):n},a.sort=function(t){return arguments.length?(e=t,n=null,a):e},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:c(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:c(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:c(+t),a):o},a},F=R($);function U(t){this._curve=t}function R(t){function n(n){return new U(t(n))}return n._curve=t,n}function B(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(R(t)):n()._curve},t}U.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var H=function(){return B(j().curve(F))},z=function(){var t=D().curve(F),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return B(e())},delete t.lineX0,t.lineEndAngle=function(){return B(r())},delete t.lineX1,t.lineInnerRadius=function(){return B(i())},delete t.lineY0,t.lineOuterRadius=function(){return B(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(R(t)):n()._curve},t},q=function(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]},V=Array.prototype.slice;function Y(t){return t.source}function X(t){return t.target}function J(t){var n=Y,e=X,r=N,i=E,o=null;function a(){var a,u=V.call(arguments),c=n.apply(this,u),l=e.apply(this,u);if(o||(o=a=s()),t(o,+r.apply(this,(u[0]=c,u)),+i.apply(this,u),+r.apply(this,(u[0]=l,u)),+i.apply(this,u)),a)return o=null,a+""||null}return a.source=function(t){return arguments.length?(n=t,a):n},a.target=function(t){return arguments.length?(e=t,a):e},a.x=function(t){return arguments.length?(r="function"==typeof t?t:c(+t),a):r},a.y=function(t){return arguments.length?(i="function"==typeof t?t:c(+t),a):i},a.context=function(t){return arguments.length?(o=null==t?null:t,a):o},a}function Q(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function G(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function W(t,n,e,r,i){var o=q(n,e),a=q(n,e=(e+i)/2),u=q(r,e),s=q(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(a[0],a[1],u[0],u[1],s[0],s[1])}function K(){return J(Q)}function Z(){return J(G)}function tt(){var t=J(W);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var nt={draw:function(t,n){var e=Math.sqrt(n/g);t.moveTo(e,0),t.arc(0,0,e,0,x)}},et={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},rt=Math.sqrt(1/3),it=2*rt,ot={draw:function(t,n){var e=Math.sqrt(n/it),r=e*rt;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},at=Math.sin(g/10)/Math.sin(7*g/10),ut=Math.sin(x/10)*at,st=-Math.cos(x/10)*at,ct={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=ut*e,i=st*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var a=x*o/5,u=Math.cos(a),s=Math.sin(a);t.lineTo(s*e,-u*e),t.lineTo(u*r-s*i,s*r+u*i)}t.closePath()}},lt={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},ft=Math.sqrt(3),ht={draw:function(t,n){var e=-Math.sqrt(n/(3*ft));t.moveTo(0,2*e),t.lineTo(-ft*e,-e),t.lineTo(ft*e,-e),t.closePath()}},pt=Math.sqrt(3)/2,dt=1/Math.sqrt(12),vt=3*(dt/2+1),_t={draw:function(t,n){var e=Math.sqrt(n/vt),r=e/2,i=e*dt,o=r,a=e*dt+e,u=-o,s=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(u,s),t.lineTo(-.5*r-pt*i,pt*r+-.5*i),t.lineTo(-.5*o-pt*a,pt*o+-.5*a),t.lineTo(-.5*u-pt*s,pt*u+-.5*s),t.lineTo(-.5*r+pt*i,-.5*i-pt*r),t.lineTo(-.5*o+pt*a,-.5*a-pt*o),t.lineTo(-.5*u+pt*s,-.5*s-pt*u),t.closePath()}},yt=[nt,et,ot,lt,ct,ht,_t],gt=function(){var t=c(nt),n=c(64),e=null;function r(){var r;if(e||(e=r=s()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),r)return e=null,r+""||null}return r.type=function(n){return arguments.length?(t="function"==typeof n?n:c(n),r):t},r.size=function(t){return arguments.length?(n="function"==typeof t?t:c(+t),r):n},r.context=function(t){return arguments.length?(e=null==t?null:t,r):e},r},mt=function(){};function xt(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function wt(t){this._context=t}wt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:xt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:xt(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var bt=function(t){return new wt(t)};function Mt(t){this._context=t}Mt.prototype={areaStart:mt,areaEnd:mt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:xt(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var kt=function(t){return new Mt(t)};function Tt(t){this._context=t}Tt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:xt(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var Ct=function(t){return new Tt(t)};function At(t,n){this._basis=new wt(t),this._beta=n}At.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],a=t[e]-i,u=n[e]-o,s=-1;++s<=e;)r=s/e,this._basis.point(this._beta*t[s]+(1-this._beta)*(i+r*a),this._beta*n[s]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var St=function t(n){function e(t){return 1===n?new wt(t):new At(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function Ot(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function $t(t,n){this._context=t,this._k=(1-n)/6}$t.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ot(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:Ot(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Nt=function t(n){function e(t){return new $t(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Et(t,n){this._context=t,this._k=(1-n)/6}Et.prototype={areaStart:mt,areaEnd:mt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Ot(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var jt=function t(n){function e(t){return new Et(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Dt(t,n){this._context=t,this._k=(1-n)/6}Dt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ot(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Pt=function t(n){function e(t){return new Dt(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Lt(t,n,e){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>y){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>y){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-n*t._l12_2a)/l,a=(a*c+t._y1*t._l23_2a-e*t._l12_2a)/l}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function It(t,n){this._context=t,this._alpha=n}It.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:Lt(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Ft=function t(n){function e(t){return n?new It(t,n):new $t(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Ut(t,n){this._context=t,this._alpha=n}Ut.prototype={areaStart:mt,areaEnd:mt,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Lt(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Rt=function t(n){function e(t){return n?new Ut(t,n):new Et(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Bt(t,n){this._context=t,this._alpha=n}Bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Lt(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Ht=function t(n){function e(t){return n?new Bt(t,n):new Dt(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function zt(t){this._context=t}zt.prototype={areaStart:mt,areaEnd:mt,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}};var qt=function(t){return new zt(t)};function Vt(t){return t<0?-1:1}function Yt(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(e-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(Vt(o)+Vt(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function Xt(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function Jt(t,n,e){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*n,o-u,a-u*e,o,a)}function Qt(t){this._context=t}function Gt(t){this._context=new Wt(t)}function Wt(t){this._context=t}function Kt(t){return new Qt(t)}function Zt(t){return new Gt(t)}function tn(t){this._context=t}function nn(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],n=1;n=0;--n)i[n]=(a[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var on=function(t){return new rn(t,.5)};function an(t){return new rn(t,0)}function un(t){return new rn(t,1)}var sn=function(t,n){if((i=t.length)>1)for(var e,r,i,o=1,a=t[n[0]],u=a.length;o=0;)e[n]=n;return e};function ln(t,n){return t[n]}var fn=function(){var t=c([]),n=cn,e=sn,r=ln;function i(i){var o,a,u=t.apply(this,arguments),s=i.length,c=u.length,l=new Array(c);for(o=0;o0){for(var e,r,i,o=0,a=t[0].length;o1)for(var e,r,i,o,a,u,s=0,c=t[n[0]].length;s=0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):r[0]=o},dn=function(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,a=1;a>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):(n=l.exec(t))?m(parseInt(n[1],16)):(n=f.exec(t))?new M(n[1],n[2],n[3],1):(n=h.exec(t))?new M(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=p.exec(t))?x(n[1],n[2],n[3],n[4]):(n=d.exec(t))?x(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=v.exec(t))?T(n[1],n[2]/100,n[3]/100,1):(n=_.exec(t))?T(n[1],n[2]/100,n[3]/100,n[4]):y.hasOwnProperty(t)?m(y[t]):"transparent"===t?new M(NaN,NaN,NaN,0):null}function m(t){return new M(t>>16&255,t>>8&255,255&t,1)}function x(t,n,e,r){return r<=0&&(t=n=e=NaN),new M(t,n,e,r)}function w(t){return t instanceof o||(t=g(t)),t?new M((t=t.rgb()).r,t.g,t.b,t.opacity):new M}function b(t,n,e,r){return 1===arguments.length?w(t):new M(t,n,e,null==r?1:r)}function M(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function k(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function T(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new A(t,n,e,r)}function C(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof o||(t=g(t)),!t)return new A;if(t instanceof A)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),u=NaN,s=a-i,c=(a+i)/2;return s?(u=n===a?(e-r)/s+6*(e0&&c<1?0:u,new A(u,s,c,t.opacity)}(t):new A(t,n,e,null==r?1:r)}function A(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function S(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}r(o,g,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),r(M,b,i(o,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+k(this.r)+k(this.g)+k(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),r(A,C,i(o,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new M(S(t>=240?t-240:t+120,i,r),S(t,i,r),S(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var O=Math.PI/180,$=180/Math.PI,N=.96422,E=1,j=.82521,D=4/29,P=6/29,L=3*P*P,I=P*P*P;function F(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof Q){if(isNaN(t.h))return new B(t.l,0,0,t.opacity);var n=t.h*O;return new B(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof M||(t=w(t));var e,r,i=V(t.r),o=V(t.g),a=V(t.b),u=H((.2225045*i+.7168786*o+.0606169*a)/E);return i===o&&o===a?e=r=u:(e=H((.4360747*i+.3850649*o+.1430804*a)/N),r=H((.0139322*i+.0971045*o+.7141733*a)/j)),new B(116*u-16,500*(e-u),200*(u-r),t.opacity)}function U(t,n){return new B(t,0,0,null==n?1:n)}function R(t,n,e,r){return 1===arguments.length?F(t):new B(t,n,e,null==r?1:r)}function B(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function H(t){return t>I?Math.pow(t,1/3):t/L+D}function z(t){return t>P?t*t*t:L*(t-D)}function q(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function V(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Y(t){if(t instanceof Q)return new Q(t.h,t.c,t.l,t.opacity);if(t instanceof B||(t=F(t)),0===t.a&&0===t.b)return new Q(NaN,0,t.l,t.opacity);var n=Math.atan2(t.b,t.a)*$;return new Q(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function X(t,n,e,r){return 1===arguments.length?Y(t):new Q(e,n,t,null==r?1:r)}function J(t,n,e,r){return 1===arguments.length?Y(t):new Q(t,n,e,null==r?1:r)}function Q(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}r(B,R,i(o,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return new M(q(3.1338561*(n=N*z(n))-1.6168667*(t=E*z(t))-.4906146*(e=j*z(e))),q(-.9787684*n+1.9161415*t+.033454*e),q(.0719453*n-.2289914*t+1.4052427*e),this.opacity)}})),r(Q,J,i(o,{brighter:function(t){return new Q(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Q(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return F(this).rgb()}}));var G=-.14861,W=1.78277,K=-.29227,Z=-.90649,tt=1.97294,nt=tt*Z,et=tt*W,rt=W*K-Z*G;function it(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof ot)return new ot(t.h,t.s,t.l,t.opacity);t instanceof M||(t=w(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(rt*r+nt*n-et*e)/(rt+nt-et),o=r-i,a=(tt*(e-i)-K*o)/Z,u=Math.sqrt(a*a+o*o)/(tt*i*(1-i)),s=u?Math.atan2(a,o)*$-120:NaN;return new ot(s<0?s+360:s,u,i,t.opacity)}(t):new ot(t,n,e,null==r?1:r)}function ot(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}r(ot,it,i(o,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new ot(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new ot(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*O,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new M(255*(n+e*(G*r+W*i)),255*(n+e*(K*r+Z*i)),255*(n+e*(tt*r)),this.opacity)}})),e.d(n,"a",function(){return g}),e.d(n,"f",function(){return b}),e.d(n,"d",function(){return C}),e.d(n,"e",function(){return R}),e.d(n,"c",function(){return J}),e.d(n,!1,function(){return X}),e.d(n,!1,function(){return U}),e.d(n,"b",function(){return it})},"3fs2":function(t,n,e){var r=e("RY/4"),i=e("dSzd")("iterator"),o=e("/bQp");t.exports=e("FeBl").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},"4mcu":function(t,n){t.exports=function(){}},"52gC":function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"5zde":function(t,n,e){e("zQR9"),e("qyJz"),t.exports=e("FeBl").Array.from},"7+uW":function(t,n,e){"use strict";(function(t){ -/*! - * Vue.js v2.5.17 - * (c) 2014-2018 Evan You - * Released under the MIT License. - */ -var e=Object.freeze({});function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function a(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return null!==t&&"object"==typeof t}var s=Object.prototype.toString;function c(t){return"[object Object]"===s.call(t)}function l(t){return"[object RegExp]"===s.call(t)}function f(t){var n=parseFloat(String(t));return n>=0&&Math.floor(n)===n&&isFinite(t)}function h(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function p(t){var n=parseFloat(t);return isNaN(n)?t:n}function d(t,n){for(var e=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(e,1)}}var g=Object.prototype.hasOwnProperty;function m(t,n){return g.call(t,n)}function x(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var w=/-(\w)/g,b=x(function(t){return t.replace(w,function(t,n){return n?n.toUpperCase():""})}),M=x(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),k=/\B([A-Z])/g,T=x(function(t){return t.replace(k,"-$1").toLowerCase()});var C=Function.prototype.bind?function(t,n){return t.bind(n)}:function(t,n){function e(e){var r=arguments.length;return r?r>1?t.apply(n,arguments):t.call(n,e):t.call(n)}return e._length=t.length,e};function A(t,n){n=n||0;for(var e=t.length-n,r=new Array(e);e--;)r[e]=t[e+n];return r}function S(t,n){for(var e in n)t[e]=n[e];return t}function O(t){for(var n={},e=0;e0,W=J&&J.indexOf("edge/")>0,K=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===X),Z=(J&&/chrome\/\d+/.test(J),{}.watch),tt=!1;if(V)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){tt=!0}}),window.addEventListener("test-passive",null,nt)}catch(t){}var et=function(){return void 0===z&&(z=!V&&!Y&&void 0!==t&&"server"===t.process.env.VUE_ENV),z},rt=V&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function it(t){return"function"==typeof t&&/native code/.test(t.toString())}var ot,at="undefined"!=typeof Symbol&&it(Symbol)&&"undefined"!=typeof Reflect&&it(Reflect.ownKeys);ot="undefined"!=typeof Set&&it(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ut=$,st=0,ct=function(){this.id=st++,this.subs=[]};ct.prototype.addSub=function(t){this.subs.push(t)},ct.prototype.removeSub=function(t){y(this.subs,t)},ct.prototype.depend=function(){ct.target&&ct.target.addDep(this)},ct.prototype.notify=function(){for(var t=this.subs.slice(),n=0,e=t.length;n-1)if(o&&!m(i,"default"))a=!1;else if(""===a||a===T(t)){var s=Bt(String,i.type);(s<0||u0&&(fn((c=t(c,(e||"")+"_"+s))[0])&&fn(f)&&(u[l]=_t(f.text+c[0].text),c.shift()),u.push.apply(u,c)):a(c)?fn(f)?u[l]=_t(f.text+c):""!==c&&u.push(_t(c)):fn(c)&&fn(f)?u[l]=_t(f.text+c.text):(o(n._isVList)&&i(c.tag)&&r(c.key)&&i(e)&&(c.key="__vlist"+e+"_"+s+"__"),u.push(c)));return u}(t):void 0}function fn(t){return i(t)&&i(t.text)&&!1===t.isComment}function hn(t,n){return(t.__esModule||at&&"Module"===t[Symbol.toStringTag])&&(t=t.default),u(t)?n.extend(t):t}function pn(t){return t.isComment&&t.asyncFactory}function dn(t){if(Array.isArray(t))for(var n=0;n$n&&Tn[e].id>t.id;)e--;Tn.splice(e+1,0,t)}else Tn.push(t);Sn||(Sn=!0,tn(Nn))}}(this)},jn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var n=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,n)}catch(t){Ht(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,n)}}},jn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},jn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},jn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Dn={enumerable:!0,configurable:!0,get:$,set:$};function Pn(t,n,e){Dn.get=function(){return this[n][e]},Dn.set=function(t){this[n][e]=t},Object.defineProperty(t,e,Dn)}function Ln(t){t._watchers=[];var n=t.$options;n.props&&function(t,n){var e=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[];t.$parent&&bt(!1);var o=function(o){i.push(o);var a=Ft(o,n,e,t);At(r,o,a),o in t||Pn(t,"_props",o)};for(var a in n)o(a);bt(!0)}(t,n.props),n.methods&&function(t,n){t.$options.props;for(var e in n)t[e]=null==n[e]?$:C(n[e],t)}(t,n.methods),n.data?function(t){var n=t.$options.data;c(n=t._data="function"==typeof n?function(t,n){ft();try{return t.call(n,n)}catch(t){return Ht(t,n,"data()"),{}}finally{ht()}}(n,t):n||{})||(n={});var e=Object.keys(n),r=t.$options.props,i=(t.$options.methods,e.length);for(;i--;){var o=e[i];0,r&&m(r,o)||R(o)||Pn(t,"_data",o)}Ct(n,!0)}(t):Ct(t._data={},!0),n.computed&&function(t,n){var e=t._computedWatchers=Object.create(null),r=et();for(var i in n){var o=n[i],a="function"==typeof o?o:o.get;0,r||(e[i]=new jn(t,a||$,$,In)),i in t||Fn(t,i,o)}}(t,n.computed),n.watch&&n.watch!==Z&&function(t,n){for(var e in n){var r=n[e];if(Array.isArray(r))for(var i=0;i=0||e.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function he(t){this._init(t)}function pe(t){t.cid=0;var n=1;t.extend=function(t){t=t||{};var e=this,r=e.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||e.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(e.prototype)).constructor=a,a.cid=n++,a.options=Lt(e.options,t),a.super=e,a.options.props&&function(t){var n=t.options.props;for(var e in n)Pn(t.prototype,"_props",e)}(a),a.options.computed&&function(t){var n=t.options.computed;for(var e in n)Fn(t.prototype,e,n[e])}(a),a.extend=e.extend,a.mixin=e.mixin,a.use=e.use,I.forEach(function(t){a[t]=e[t]}),o&&(a.options.components[o]=a),a.superOptions=e.options,a.extendOptions=t,a.sealedOptions=S({},a.options),i[r]=a,a}}function de(t){return t&&(t.Ctor.options.name||t.tag)}function ve(t,n){return Array.isArray(t)?t.indexOf(n)>-1:"string"==typeof t?t.split(",").indexOf(n)>-1:!!l(t)&&t.test(n)}function _e(t,n){var e=t.cache,r=t.keys,i=t._vnode;for(var o in e){var a=e[o];if(a){var u=de(a.componentOptions);u&&!n(u)&&ye(e,o,r,i)}}}function ye(t,n,e,r){var i=t[n];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[n]=null,y(e,n)}!function(t){t.prototype._init=function(t){var n=this;n._uid=ce++,n._isVue=!0,t&&t._isComponent?function(t,n){var e=t.$options=Object.create(t.constructor.options),r=n._parentVnode;e.parent=n.parent,e._parentVnode=r,e._parentElm=n._parentElm,e._refElm=n._refElm;var i=r.componentOptions;e.propsData=i.propsData,e._parentListeners=i.listeners,e._renderChildren=i.children,e._componentTag=i.tag,n.render&&(e.render=n.render,e.staticRenderFns=n.staticRenderFns)}(n,t):n.$options=Lt(le(n.constructor),t||{},n),n._renderProxy=n,n._self=n,function(t){var n=t.$options,e=n.parent;if(e&&!n.abstract){for(;e.$options.abstract&&e.$parent;)e=e.$parent;e.$children.push(t)}t.$parent=e,t.$root=e?e.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(n),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var n=t.$options._parentListeners;n&&yn(t,n)}(n),function(t){t._vnode=null,t._staticTrees=null;var n=t.$options,r=t.$vnode=n._parentVnode,i=r&&r.context;t.$slots=gn(n._renderChildren,i),t.$scopedSlots=e,t._c=function(n,e,r,i){return se(t,n,e,r,i,!1)},t.$createElement=function(n,e,r,i){return se(t,n,e,r,i,!0)};var o=r&&r.data;At(t,"$attrs",o&&o.attrs||e,null,!0),At(t,"$listeners",n._parentListeners||e,null,!0)}(n),kn(n,"beforeCreate"),function(t){var n=Bn(t.$options.inject,t);n&&(bt(!1),Object.keys(n).forEach(function(e){At(t,e,n[e])}),bt(!0))}(n),Ln(n),function(t){var n=t.$options.provide;n&&(t._provided="function"==typeof n?n.call(t):n)}(n),kn(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(he),function(t){var n={get:function(){return this._data}},e={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",n),Object.defineProperty(t.prototype,"$props",e),t.prototype.$set=St,t.prototype.$delete=Ot,t.prototype.$watch=function(t,n,e){if(c(n))return Rn(this,t,n,e);(e=e||{}).user=!0;var r=new jn(this,t,n,e);return e.immediate&&n.call(this,r.value),function(){r.teardown()}}}(he),function(t){var n=/^hook:/;t.prototype.$on=function(t,e){if(Array.isArray(t))for(var r=0,i=t.length;r1?A(e):e;for(var r=A(arguments,1),i=0,o=e.length;iparseInt(this.max)&&ye(a,u[0],u,this._vnode)),n.data.keepAlive=!0}return n||t&&t[0]}}};!function(t){var n={get:function(){return U}};Object.defineProperty(t,"config",n),t.util={warn:ut,extend:S,mergeOptions:Lt,defineReactive:At},t.set=St,t.delete=Ot,t.nextTick=tn,t.options=Object.create(null),I.forEach(function(n){t.options[n+"s"]=Object.create(null)}),t.options._base=t,S(t.options.components,me),function(t){t.use=function(t){var n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(t)>-1)return this;var e=A(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):"function"==typeof t&&t.apply(null,e),n.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Lt(this.options,t),this}}(t),pe(t),function(t){I.forEach(function(n){t[n]=function(t,e){return e?("component"===n&&c(e)&&(e.name=e.name||t,e=this.options._base.extend(e)),"directive"===n&&"function"==typeof e&&(e={bind:e,update:e}),this.options[n+"s"][t]=e,e):this.options[n+"s"][t]}})}(t)}(he),Object.defineProperty(he.prototype,"$isServer",{get:et}),Object.defineProperty(he.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(he,"FunctionalRenderContext",{value:te}),he.version="2.5.17";var xe=d("style,class"),we=d("input,textarea,option,select,progress"),be=function(t,n,e){return"value"===e&&we(t)&&"button"!==n||"selected"===e&&"option"===t||"checked"===e&&"input"===t||"muted"===e&&"video"===t},Me=d("contenteditable,draggable,spellcheck"),ke=d("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Te="http://www.w3.org/1999/xlink",Ce=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Ae=function(t){return Ce(t)?t.slice(6,t.length):""},Se=function(t){return null==t||!1===t};function Oe(t){for(var n=t.data,e=t,r=t;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(n=$e(r.data,n));for(;i(e=e.parent);)e&&e.data&&(n=$e(n,e.data));return function(t,n){if(i(t)||i(n))return Ne(t,Ee(n));return""}(n.staticClass,n.class)}function $e(t,n){return{staticClass:Ne(t.staticClass,n.staticClass),class:i(t.class)?[t.class,n.class]:n.class}}function Ne(t,n){return t?n?t+" "+n:t:n||""}function Ee(t){return Array.isArray(t)?function(t){for(var n,e="",r=0,o=t.length;r-1?rr(t,n,e):ke(n)?Se(e)?t.removeAttribute(n):(e="allowfullscreen"===n&&"EMBED"===t.tagName?"true":n,t.setAttribute(n,e)):Me(n)?t.setAttribute(n,Se(e)||"false"===e?"false":"true"):Ce(n)?Se(e)?t.removeAttributeNS(Te,Ae(n)):t.setAttributeNS(Te,n,e):rr(t,n,e)}function rr(t,n,e){if(Se(e))t.removeAttribute(n);else{if(Q&&!G&&"TEXTAREA"===t.tagName&&"placeholder"===n&&!t.__ieph){var r=function(n){n.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(n,e)}}var ir={create:nr,update:nr};function or(t,n){var e=n.elm,o=n.data,a=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var u=Oe(n),s=e._transitionClasses;i(s)&&(u=Ne(u,Ee(s))),u!==e._prevClass&&(e.setAttribute("class",u),e._prevClass=u)}}var ar,ur,sr,cr,lr,fr,hr={create:or,update:or},pr=/[\w).+\-_$\]]/;function dr(t){var n,e,r,i,o,a=!1,u=!1,s=!1,c=!1,l=0,f=0,h=0,p=0;for(r=0;r=0&&" "===(v=t.charAt(d));d--);v&&pr.test(v)||(c=!0)}}else void 0===i?(p=r+1,i=t.slice(0,r).trim()):_();function _(){(o||(o=[])).push(t.slice(p,r).trim()),p=r+1}if(void 0===i?i=t.slice(0,r).trim():0!==p&&_(),o)for(r=0;r-1?{exp:t.slice(0,cr),key:'"'+t.slice(cr+1)+'"'}:{exp:t,key:null};ur=t,cr=lr=fr=0;for(;!Sr();)Or(sr=Ar())?Nr(sr):91===sr&&$r(sr);return{exp:t.slice(0,lr),key:t.slice(lr+1,fr)}}(t);return null===e.key?t+"="+n:"$set("+e.exp+", "+e.key+", "+n+")"}function Ar(){return ur.charCodeAt(++cr)}function Sr(){return cr>=ar}function Or(t){return 34===t||39===t}function $r(t){var n=1;for(lr=cr;!Sr();)if(Or(t=Ar()))Nr(t);else if(91===t&&n++,93===t&&n--,0===n){fr=cr;break}}function Nr(t){for(var n=t;!Sr()&&(t=Ar())!==n;);}var Er,jr="__r",Dr="__c";function Pr(t,n,e,r,i){var o;n=(o=n)._withTask||(o._withTask=function(){Gt=!0;var t=o.apply(null,arguments);return Gt=!1,t}),e&&(n=function(t,n,e){var r=Er;return function i(){null!==t.apply(null,arguments)&&Lr(n,i,e,r)}}(n,t,r)),Er.addEventListener(t,n,tt?{capture:r,passive:i}:r)}function Lr(t,n,e,r){(r||Er).removeEventListener(t,n._withTask||n,e)}function Ir(t,n){if(!r(t.data.on)||!r(n.data.on)){var e=n.data.on||{},o=t.data.on||{};Er=n.elm,function(t){if(i(t[jr])){var n=Q?"change":"input";t[n]=[].concat(t[jr],t[n]||[]),delete t[jr]}i(t[Dr])&&(t.change=[].concat(t[Dr],t.change||[]),delete t[Dr])}(e),un(e,o,Pr,Lr,n.context),Er=void 0}}var Fr={create:Ir,update:Ir};function Ur(t,n){if(!r(t.data.domProps)||!r(n.data.domProps)){var e,o,a=n.elm,u=t.data.domProps||{},s=n.data.domProps||{};for(e in i(s.__ob__)&&(s=n.data.domProps=S({},s)),u)r(s[e])&&(a[e]="");for(e in s){if(o=s[e],"textContent"===e||"innerHTML"===e){if(n.children&&(n.children.length=0),o===u[e])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===e){a._value=o;var c=r(o)?"":String(o);Rr(a,c)&&(a.value=c)}else a[e]=o}}}function Rr(t,n){return!t.composing&&("OPTION"===t.tagName||function(t,n){var e=!0;try{e=document.activeElement!==t}catch(t){}return e&&t.value!==n}(t,n)||function(t,n){var e=t.value,r=t._vModifiers;if(i(r)){if(r.lazy)return!1;if(r.number)return p(e)!==p(n);if(r.trim)return e.trim()!==n.trim()}return e!==n}(t,n))}var Br={create:Ur,update:Ur},Hr=x(function(t){var n={},e=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(e);r.length>1&&(n[r[0].trim()]=r[1].trim())}}),n});function zr(t){var n=qr(t.style);return t.staticStyle?S(t.staticStyle,n):n}function qr(t){return Array.isArray(t)?O(t):"string"==typeof t?Hr(t):t}var Vr,Yr=/^--/,Xr=/\s*!important$/,Jr=function(t,n,e){if(Yr.test(n))t.style.setProperty(n,e);else if(Xr.test(e))t.style.setProperty(n,e.replace(Xr,""),"important");else{var r=Gr(n);if(Array.isArray(e))for(var i=0,o=e.length;i-1?n.split(/\s+/).forEach(function(n){return t.classList.add(n)}):t.classList.add(n);else{var e=" "+(t.getAttribute("class")||"")+" ";e.indexOf(" "+n+" ")<0&&t.setAttribute("class",(e+n).trim())}}function ti(t,n){if(n&&(n=n.trim()))if(t.classList)n.indexOf(" ")>-1?n.split(/\s+/).forEach(function(n){return t.classList.remove(n)}):t.classList.remove(n),t.classList.length||t.removeAttribute("class");else{for(var e=" "+(t.getAttribute("class")||"")+" ",r=" "+n+" ";e.indexOf(r)>=0;)e=e.replace(r," ");(e=e.trim())?t.setAttribute("class",e):t.removeAttribute("class")}}function ni(t){if(t){if("object"==typeof t){var n={};return!1!==t.css&&S(n,ei(t.name||"v")),S(n,t),n}return"string"==typeof t?ei(t):void 0}}var ei=x(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),ri=V&&!G,ii="transition",oi="animation",ai="transition",ui="transitionend",si="animation",ci="animationend";ri&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ai="WebkitTransition",ui="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(si="WebkitAnimation",ci="webkitAnimationEnd"));var li=V?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function fi(t){li(function(){li(t)})}function hi(t,n){var e=t._transitionClasses||(t._transitionClasses=[]);e.indexOf(n)<0&&(e.push(n),Zr(t,n))}function pi(t,n){t._transitionClasses&&y(t._transitionClasses,n),ti(t,n)}function di(t,n,e){var r=_i(t,n),i=r.type,o=r.timeout,a=r.propCount;if(!i)return e();var u=i===ii?ui:ci,s=0,c=function(){t.removeEventListener(u,l),e()},l=function(n){n.target===t&&++s>=a&&c()};setTimeout(function(){s0&&(e=ii,l=a,f=o.length):n===oi?c>0&&(e=oi,l=c,f=s.length):f=(e=(l=Math.max(a,c))>0?a>c?ii:oi:null)?e===ii?o.length:s.length:0,{type:e,timeout:l,propCount:f,hasTransform:e===ii&&vi.test(r[ai+"Property"])}}function yi(t,n){for(;t.length1}function Mi(t,n){!0!==n.data.show&&mi(n)}var ki=function(t){var n,e,u={},s=t.modules,c=t.nodeOps;for(n=0;nd?m(t,r(e[y+1])?null:e[y+1].elm,e,p,y,o):p>y&&w(0,n,h,d)}(s,p,d,e,a):i(d)?(i(t.text)&&c.setTextContent(s,""),m(s,null,d,0,d.length-1,e)):i(p)?w(0,p,0,p.length-1):i(t.text)&&c.setTextContent(s,""):t.text!==n.text&&c.setTextContent(s,n.text),i(h)&&i(l=h.hook)&&i(l=l.postpatch)&&l(t,n)}}}function T(t,n,e){if(o(e)&&i(t.parent))t.parent.data.pendingInsert=n;else for(var r=0;r-1,a.selected!==o&&(a.selected=o);else if(j(Oi(a),r))return void(t.selectedIndex!==u&&(t.selectedIndex=u));i||(t.selectedIndex=-1)}}function Si(t,n){return n.every(function(n){return!j(n,t)})}function Oi(t){return"_value"in t?t._value:t.value}function $i(t){t.target.composing=!0}function Ni(t){t.target.composing&&(t.target.composing=!1,Ei(t.target,"input"))}function Ei(t,n){var e=document.createEvent("HTMLEvents");e.initEvent(n,!0,!0),t.dispatchEvent(e)}function ji(t){return!t.componentInstance||t.data&&t.data.transition?t:ji(t.componentInstance._vnode)}var Di={model:Ti,show:{bind:function(t,n,e){var r=n.value,i=(e=ji(e)).data&&e.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(e.data.show=!0,mi(e,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,n,e){var r=n.value;!r!=!n.oldValue&&((e=ji(e)).data&&e.data.transition?(e.data.show=!0,r?mi(e,function(){t.style.display=t.__vOriginalDisplay}):xi(e,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,n,e,r,i){i||(t.style.display=t.__vOriginalDisplay)}}},Pi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Li(t){var n=t&&t.componentOptions;return n&&n.Ctor.options.abstract?Li(dn(n.children)):t}function Ii(t){var n={},e=t.$options;for(var r in e.propsData)n[r]=t[r];var i=e._parentListeners;for(var o in i)n[b(o)]=i[o];return n}function Fi(t,n){if(/\d-keep-alive$/.test(n.tag))return t("keep-alive",{props:n.componentOptions.propsData})}var Ui={name:"transition",props:Pi,abstract:!0,render:function(t){var n=this,e=this.$slots.default;if(e&&(e=e.filter(function(t){return t.tag||pn(t)})).length){0;var r=this.mode;0;var i=e[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var o=Li(i);if(!o)return i;if(this._leaving)return Fi(t,i);var u="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?u+"comment":u+o.tag:a(o.key)?0===String(o.key).indexOf(u)?o.key:u+o.key:o.key;var s=(o.data||(o.data={})).transition=Ii(this),c=this._vnode,l=Li(c);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),l&&l.data&&!function(t,n){return n.key===t.key&&n.tag===t.tag}(o,l)&&!pn(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=S({},s);if("out-in"===r)return this._leaving=!0,sn(f,"afterLeave",function(){n._leaving=!1,n.$forceUpdate()}),Fi(t,i);if("in-out"===r){if(pn(o))return c;var h,p=function(){h()};sn(s,"afterEnter",p),sn(s,"enterCancelled",p),sn(f,"delayLeave",function(t){h=t})}}return i}}},Ri=S({tag:String,moveClass:String},Pi);function Bi(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Hi(t){t.data.newPos=t.elm.getBoundingClientRect()}function zi(t){var n=t.data.pos,e=t.data.newPos,r=n.left-e.left,i=n.top-e.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Ri.mode;var qi={Transition:Ui,TransitionGroup:{props:Ri,render:function(t){for(var n=this.tag||this.$vnode.data.tag||"span",e=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Ii(this),u=0;u-1?Fe[t]=n.constructor===window.HTMLUnknownElement||n.constructor===window.HTMLElement:Fe[t]=/HTMLUnknownElement/.test(n.toString())},S(he.options.directives,Di),S(he.options.components,qi),he.prototype.__patch__=V?ki:$,he.prototype.$mount=function(t,n){return function(t,n,e){return t.$el=n,t.$options.render||(t.$options.render=vt),kn(t,"beforeMount"),new jn(t,function(){t._update(t._render(),e)},$,null,!0),e=!1,null==t.$vnode&&(t._isMounted=!0,kn(t,"mounted")),t}(this,t=t&&V?Re(t):void 0,n)},V&&setTimeout(function(){U.devtools&&rt&&rt.emit("init",he)},0);var Vi=/\{\{((?:.|\n)+?)\}\}/g,Yi=/[-.*+?^${}()|[\]\/\\]/g,Xi=x(function(t){var n=t[0].replace(Yi,"\\$&"),e=t[1].replace(Yi,"\\$&");return new RegExp(n+"((?:.|\\n)+?)"+e,"g")});function Ji(t,n){var e=n?Xi(n):Vi;if(e.test(t)){for(var r,i,o,a=[],u=[],s=e.lastIndex=0;r=e.exec(t);){(i=r.index)>s&&(u.push(o=t.slice(s,i)),a.push(JSON.stringify(o)));var c=dr(r[1].trim());a.push("_s("+c+")"),u.push({"@binding":c}),s=i+r[0].length}return s\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ro="[a-zA-Z_][\\w\\-\\.]*",io="((?:"+ro+"\\:)?"+ro+")",oo=new RegExp("^<"+io),ao=/^\s*(\/?)>/,uo=new RegExp("^<\\/"+io+"[^>]*>"),so=/^]+>/i,co=/^",""":'"',"&":"&"," ":"\n"," ":"\t"},_o=/&(?:lt|gt|quot|amp);/g,yo=/&(?:lt|gt|quot|amp|#10|#9);/g,go=d("pre,textarea",!0),mo=function(t,n){return t&&go(t)&&"\n"===n[0]};function xo(t,n){var e=n?yo:_o;return t.replace(e,function(t){return vo[t]})}var wo,bo,Mo,ko,To,Co,Ao,So,Oo=/^@|^v-on:/,$o=/^v-|^@|^:/,No=/([^]*?)\s+(?:in|of)\s+([^]*)/,Eo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,jo=/^\(|\)$/g,Do=/:(.*)$/,Po=/^:|^v-bind:/,Lo=/\.[^.]+/g,Io=x(Ki);function Fo(t,n,e){return{type:1,tag:t,attrsList:n,attrsMap:function(t){for(var n={},e=0,r=t.length;e]*>)","i")),h=t.replace(f,function(t,e,r){return c=r.length,ho(l)||"noscript"===l||(e=e.replace(//g,"$1").replace(//g,"$1")),mo(l,e)&&(e=e.slice(1)),n.chars&&n.chars(e),""});s+=t.length-h.length,t=h,C(l,s-c,s)}else{var p=t.indexOf("<");if(0===p){if(co.test(t)){var d=t.indexOf("--\x3e");if(d>=0){n.shouldKeepComment&&n.comment(t.substring(4,d)),M(d+3);continue}}if(lo.test(t)){var v=t.indexOf("]>");if(v>=0){M(v+2);continue}}var _=t.match(so);if(_){M(_[0].length);continue}var y=t.match(uo);if(y){var g=s;M(y[0].length),C(y[1],g,s);continue}var m=k();if(m){T(m),mo(r,t)&&M(1);continue}}var x=void 0,w=void 0,b=void 0;if(p>=0){for(w=t.slice(p);!(uo.test(w)||oo.test(w)||co.test(w)||lo.test(w)||(b=w.indexOf("<",1))<0);)p+=b,w=t.slice(p);x=t.substring(0,p),M(p)}p<0&&(x=t,t=""),n.chars&&x&&n.chars(x)}if(t===e){n.chars&&n.chars(t);break}}function M(n){s+=n,t=t.substring(n)}function k(){var n=t.match(oo);if(n){var e,r,i={tagName:n[1],attrs:[],start:s};for(M(n[0].length);!(e=t.match(ao))&&(r=t.match(eo));)M(r[0].length),i.attrs.push(r);if(e)return i.unarySlash=e[1],M(e[0].length),i.end=s,i}}function T(t){var e=t.tagName,s=t.unarySlash;o&&("p"===r&&no(e)&&C(r),u(e)&&r===e&&C(e));for(var c=a(e)||!!s,l=t.attrs.length,f=new Array(l),h=0;h=0&&i[a].lowerCasedTag!==u;a--);else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)n.end&&n.end(i[c].tag,e,o);i.length=a,r=a&&i[a-1].tag}else"br"===u?n.start&&n.start(t,[],!0,e,o):"p"===u&&(n.start&&n.start(t,[],!1,e,o),n.end&&n.end(t,e,o))}C()}(t,{warn:wo,expectHTML:n.expectHTML,isUnaryTag:n.isUnaryTag,canBeLeftOpenTag:n.canBeLeftOpenTag,shouldDecodeNewlines:n.shouldDecodeNewlines,shouldDecodeNewlinesForHref:n.shouldDecodeNewlinesForHref,shouldKeepComment:n.comments,start:function(t,o,c){var l=r&&r.ns||So(t);Q&&"svg"===l&&(o=function(t){for(var n=[],e=0;e-1"+("true"===o?":("+n+")":":_q("+n+","+o+")")),br(t,"change","var $$a="+n+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Cr(n,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Cr(n,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Cr(n,"$$c")+"}",null,!0)}(t,r,i);else if("input"===o&&"radio"===a)!function(t,n,e){var r=e&&e.number,i=Mr(t,"value")||"null";gr(t,"checked","_q("+n+","+(i=r?"_n("+i+")":i)+")"),br(t,"change",Cr(n,i),null,!0)}(t,r,i);else if("input"===o||"textarea"===o)!function(t,n,e){var r=t.attrsMap.type,i=e||{},o=i.lazy,a=i.number,u=i.trim,s=!o&&"range"!==r,c=o?"change":"range"===r?jr:"input",l="$event.target.value";u&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=Cr(n,l);s&&(f="if($event.target.composing)return;"+f),gr(t,"value","("+n+")"),br(t,c,f,null,!0),(u||a)&&br(t,"blur","$forceUpdate()")}(t,r,i);else if(!U.isReservedTag(o))return Tr(t,r,i),!1;return!0},text:function(t,n){n.value&&gr(t,"textContent","_s("+n.value+")")},html:function(t,n){n.value&&gr(t,"innerHTML","_s("+n.value+")")}},isPreTag:function(t){return"pre"===t},isUnaryTag:Zi,mustUseProp:be,canBeLeftOpenTag:to,isReservedTag:Le,getTagNamespace:Ie,staticKeys:function(t){return t.reduce(function(t,n){return t.concat(n.staticKeys||[])},[]).join(",")}(Xo)},Wo=x(function(t){return d("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(t?","+t:""))});function Ko(t,n){t&&(Jo=Wo(n.staticKeys||""),Qo=n.isReservedTag||N,function t(n){n.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||v(t.tag)||!Qo(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(Jo)))}(n);if(1===n.type){if(!Qo(n.tag)&&"slot"!==n.tag&&null==n.attrsMap["inline-template"])return;for(var e=0,r=n.children.length;e|^function\s*\(/,ta=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,na={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ea={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},ra=function(t){return"if("+t+")return null;"},ia={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ra("$event.target !== $event.currentTarget"),ctrl:ra("!$event.ctrlKey"),shift:ra("!$event.shiftKey"),alt:ra("!$event.altKey"),meta:ra("!$event.metaKey"),left:ra("'button' in $event && $event.button !== 0"),middle:ra("'button' in $event && $event.button !== 1"),right:ra("'button' in $event && $event.button !== 2")};function oa(t,n,e){var r=n?"nativeOn:{":"on:{";for(var i in t)r+='"'+i+'":'+aa(i,t[i])+",";return r.slice(0,-1)+"}"}function aa(t,n){if(!n)return"function(){}";if(Array.isArray(n))return"["+n.map(function(n){return aa(t,n)}).join(",")+"]";var e=ta.test(n.value),r=Zo.test(n.value);if(n.modifiers){var i="",o="",a=[];for(var u in n.modifiers)if(ia[u])o+=ia[u],na[u]&&a.push(u);else if("exact"===u){var s=n.modifiers;o+=ra(["ctrl","shift","alt","meta"].filter(function(t){return!s[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))}else a.push(u);return a.length&&(i+=function(t){return"if(!('button' in $event)&&"+t.map(ua).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(e?"return "+n.value+"($event)":r?"return ("+n.value+")($event)":n.value)+"}"}return e||r?n.value:"function($event){"+n.value+"}"}function ua(t){var n=parseInt(t,10);if(n)return"$event.keyCode!=="+n;var e=na[t],r=ea[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(e)+",$event.key,"+JSON.stringify(r)+")"}var sa={on:function(t,n){t.wrapListeners=function(t){return"_g("+t+","+n.value+")"}},bind:function(t,n){t.wrapData=function(e){return"_b("+e+",'"+t.tag+"',"+n.value+","+(n.modifiers&&n.modifiers.prop?"true":"false")+(n.modifiers&&n.modifiers.sync?",true":"")+")"}},cloak:$},ca=function(t){this.options=t,this.warn=t.warn||_r,this.transforms=yr(t.modules,"transformCode"),this.dataGenFns=yr(t.modules,"genData"),this.directives=S(S({},sa),t.directives);var n=t.isReservedTag||N;this.maybeComponent=function(t){return!n(t.tag)},this.onceId=0,this.staticRenderFns=[]};function la(t,n){var e=new ca(n);return{render:"with(this){return "+(t?fa(t,e):'_c("div")')+"}",staticRenderFns:e.staticRenderFns}}function fa(t,n){if(t.staticRoot&&!t.staticProcessed)return ha(t,n);if(t.once&&!t.onceProcessed)return pa(t,n);if(t.for&&!t.forProcessed)return function(t,n,e,r){var i=t.for,o=t.alias,a=t.iterator1?","+t.iterator1:"",u=t.iterator2?","+t.iterator2:"";0;return t.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+u+"){return "+(e||fa)(t,n)+"})"}(t,n);if(t.if&&!t.ifProcessed)return da(t,n);if("template"!==t.tag||t.slotTarget){if("slot"===t.tag)return function(t,n){var e=t.slotName||'"default"',r=ya(t,n),i="_t("+e+(r?","+r:""),o=t.attrs&&"{"+t.attrs.map(function(t){return b(t.name)+":"+t.value}).join(",")+"}",a=t.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(t,n);var e;if(t.component)e=function(t,n,e){var r=n.inlineTemplate?null:ya(n,e,!0);return"_c("+t+","+va(n,e)+(r?","+r:"")+")"}(t.component,t,n);else{var r=t.plain?void 0:va(t,n),i=t.inlineTemplate?null:ya(t,n,!0);e="_c('"+t.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o':'
',ka.innerHTML.indexOf(" ")>0}var Aa=!!V&&Ca(!1),Sa=!!V&&Ca(!0),Oa=x(function(t){var n=Re(t);return n&&n.innerHTML}),$a=he.prototype.$mount;he.prototype.$mount=function(t,n){if((t=t&&Re(t))===document.body||t===document.documentElement)return this;var e=this.$options;if(!e.render){var r=e.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=Oa(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var n=document.createElement("div");return n.appendChild(t.cloneNode(!0)),n.innerHTML}(t));if(r){0;var i=Ta(r,{shouldDecodeNewlines:Aa,shouldDecodeNewlinesForHref:Sa,delimiters:e.delimiters,comments:e.comments},this),o=i.render,a=i.staticRenderFns;e.render=o,e.staticRenderFns=a}}return $a.call(this,t,n)},he.compile=Ta,n.a=he}).call(n,e("DuR2"))},"77Pl":function(t,n,e){var r=e("EqjI");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},"7KvD":function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},"880/":function(t,n,e){t.exports=e("hJx8")},"94VQ":function(t,n,e){"use strict";var r=e("Yobk"),i=e("X8DO"),o=e("e6n0"),a={};e("hJx8")(a,e("dSzd")("iterator"),function(){return this}),t.exports=function(t,n,e){t.prototype=r(a,{next:i(1,e)}),o(t,n+" Iterator")}},BO1k:function(t,n,e){t.exports={default:e("fxRn"),__esModule:!0}},Cdx3:function(t,n,e){var r=e("sB3e"),i=e("lktj");e("uqUo")("keys",function(){return function(t){return i(r(t))}})},D2L2:function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},Dd8w:function(t,n,e){"use strict";n.__esModule=!0;var r,i=e("woOf"),o=(r=i)&&r.__esModule?r:{default:r};n.default=o.default||function(t){for(var n=1;ns;)r(u,e=n[s++])&&(~o(c,e)||c.push(e));return c}},JyCv:function(t,n,e){"use strict";var r=e("3VYH");function i(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}var o=function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),o=t[r],a=t[r+1],u=r>0?t[r-1]:2*o-a,s=r180||e<-180?e-360*Math.round(e/360):e):u(isNaN(t)?n:t)}function l(t){return 1==(t=+t)?f:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):u(isNaN(n)?e:n)}}function f(t,n){var e=n-t;return e?s(t,e):u(isNaN(t)?n:t)}var h=function t(n){var e=l(n);function i(t,n){var i=e((t=Object(r.f)(t)).r,(n=Object(r.f)(n)).r),o=e(t.g,n.g),a=e(t.b,n.b),u=f(t.opacity,n.opacity);return function(n){return t.r=i(n),t.g=o(n),t.b=a(n),t.opacity=u(n),t+""}}return i.gamma=t,i}(1);function p(t){return function(n){var e,i,o=n.length,a=new Array(o),u=new Array(o),s=new Array(o);for(e=0;eo&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:g(e,r)})),o=w.lastIndex;return o180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:g(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,s),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:g(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,s),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:g(t,e)},{i:u-2,x:g(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,s),o=a=null,function(t){for(var n,e=-1,r=s.length;++e0?i(r(t),9007199254740991):0}},R4wc:function(t,n,e){var r=e("kM2E");r(r.S+r.F,"Object",{assign:e("To3L")})},R9M2:function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},RPLV:function(t,n,e){var r=e("7KvD").document;t.exports=r&&r.documentElement},"RY/4":function(t,n,e){var r=e("R9M2"),i=e("dSzd")("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var n,e,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?e:o?r(n):"Object"==(a=r(n))&&"function"==typeof n.callee?"Arguments":a}},S82l:function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},SfB7:function(t,n,e){t.exports=!e("+E39")&&!e("S82l")(function(){return 7!=Object.defineProperty(e("ON07")("div"),"a",{get:function(){return 7}}).a})},TcQ7:function(t,n,e){var r=e("MU5D"),i=e("52gC");t.exports=function(t){return r(i(t))}},To3L:function(t,n,e){"use strict";var r=e("lktj"),i=e("1kS7"),o=e("NpIQ"),a=e("sB3e"),u=e("MU5D"),s=Object.assign;t.exports=!s||e("S82l")(function(){var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach(function(t){n[t]=t}),7!=s({},t)[e]||Object.keys(s({},n)).join("")!=r})?function(t,n){for(var e=a(t),s=arguments.length,c=1,l=i.f,f=o.f;s>c;)for(var h,p=u(arguments[c++]),d=l?r(p).concat(l(p)):r(p),v=d.length,_=0;v>_;)f.call(p,h=d[_++])&&(e[h]=p[h]);return e}:s},UuGF:function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},V3tA:function(t,n,e){e("R4wc"),t.exports=e("FeBl").Object.assign},"VU/8":function(t,n){t.exports=function(t,n,e,r,i,o){var a,u=t=t||{},s=typeof t.default;"object"!==s&&"function"!==s||(a=t,u=t.default);var c,l="function"==typeof u?u.options:u;if(n&&(l.render=n.render,l.staticRenderFns=n.staticRenderFns,l._compiled=!0),e&&(l.functional=!0),i&&(l._scopeId=i),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):r&&(c=r),c){var f=l.functional,h=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,n){return c.call(n),h(t,n)}):l.beforeCreate=h?[].concat(h,c):[c]}return{esModule:a,exports:u,options:l}}},X8DO:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},Yobk:function(t,n,e){var r=e("77Pl"),i=e("qio6"),o=e("xnc9"),a=e("ax3d")("IE_PROTO"),u=function(){},s=function(){var t,n=e("ON07")("iframe"),r=o.length;for(n.style.display="none",e("RPLV").appendChild(n),n.src="javascript:",(t=n.contentWindow.document).open(),t.write("