From 91c20ce8db0c66342d93c97874510633a4eea1f1 Mon Sep 17 00:00:00 2001 From: Court Ewing Date: Tue, 12 Apr 2016 18:46:51 -0400 Subject: [PATCH] [internal] Replace var with let in ui/public/vislib This change was applied to all .js files under src/ui/public/vislib. This was an automatic replacement from var to let for any variable declaration that doubles as the initial assignment. Ultimately we want most of these to be converted to const, but this commit is so large that it warrants breaking each step of automation up into its own commit. For example: `var foo = 'bar';` becomes `let foo = 'var';` This was accomplished by replacing: find: `var ([a-zA-Z_$][0-9a-zA-Z_$]*)(\s+)=` replace: `let $1$2=` --- .../public/vislib/components/color/color.js | 2 +- .../vislib/components/color/color_palette.js | 14 +- .../vislib/components/labels/data_array.js | 2 +- .../public/vislib/components/labels/labels.js | 6 +- .../components/labels/pie/get_pie_names.js | 4 +- .../components/labels/pie/pie_labels.js | 10 +- .../components/labels/pie/return_pie_names.js | 2 +- .../components/tooltip/position_tooltip.js | 40 +++--- .../vislib/components/tooltip/tooltip.js | 32 ++--- .../components/zero_injection/inject_zeros.js | 12 +- .../zero_injection/ordered_x_keys.js | 18 +-- .../components/zero_injection/uniq_keys.js | 14 +- .../zero_injection/zero_fill_data_array.js | 4 +- .../zero_injection/zero_filled_array.js | 2 +- src/ui/public/vislib/lib/_error_handler.js | 4 +- src/ui/public/vislib/lib/alerts.js | 24 ++-- src/ui/public/vislib/lib/axis_title.js | 12 +- src/ui/public/vislib/lib/chart_title.js | 30 ++--- src/ui/public/vislib/lib/data.js | 102 +++++++-------- src/ui/public/vislib/lib/dispatch.js | 86 ++++++------- src/ui/public/vislib/lib/handler/handler.js | 20 +-- .../vislib/lib/handler/handler_types.js | 2 +- src/ui/public/vislib/lib/handler/types/pie.js | 6 +- .../vislib/lib/handler/types/point_series.js | 22 ++-- .../vislib/lib/handler/types/tile_map.js | 8 +- src/ui/public/vislib/lib/layout/layout.js | 8 +- .../layout/splits/column_chart/chart_split.js | 4 +- .../splits/column_chart/chart_title_split.js | 6 +- .../splits/column_chart/x_axis_split.js | 2 +- .../splits/column_chart/y_axis_split.js | 12 +- .../layout/splits/pie_chart/chart_split.js | 4 +- .../splits/pie_chart/chart_title_split.js | 2 +- .../lib/layout/splits/tile_map/map_split.js | 4 +- .../vislib/lib/layout/types/column_layout.js | 8 +- .../vislib/lib/layout/types/map_layout.js | 2 +- .../vislib/lib/layout/types/pie_layout.js | 4 +- src/ui/public/vislib/lib/resize_checker.js | 28 ++-- src/ui/public/vislib/lib/x_axis.js | 80 ++++++------ src/ui/public/vislib/lib/y_axis.js | 44 +++---- src/ui/public/vislib/vis.js | 24 ++-- src/ui/public/vislib/visualizations/_chart.js | 18 +-- src/ui/public/vislib/visualizations/_map.js | 34 ++--- .../visualizations/_point_series_chart.js | 72 +++++------ .../vislib/visualizations/area_chart.js | 110 ++++++++-------- .../vislib/visualizations/column_chart.js | 94 +++++++------- .../vislib/visualizations/line_chart.js | 120 +++++++++--------- .../marker_types/base_marker.js | 56 ++++---- .../marker_types/geohash_grid.js | 12 +- .../visualizations/marker_types/heatmap.js | 46 +++---- .../marker_types/scaled_circles.js | 26 ++-- .../marker_types/shaded_circles.js | 26 ++-- .../public/vislib/visualizations/pie_chart.js | 58 ++++----- .../public/vislib/visualizations/tile_map.js | 12 +- .../vislib/visualizations/time_marker.js | 6 +- 54 files changed, 700 insertions(+), 700 deletions(-) diff --git a/src/ui/public/vislib/components/color/color.js b/src/ui/public/vislib/components/color/color.js index 280eeeabf4839..24782c3b9ca20 100644 --- a/src/ui/public/vislib/components/color/color.js +++ b/src/ui/public/vislib/components/color/color.js @@ -1,7 +1,7 @@ import _ from 'lodash'; import VislibComponentsColorMappedColorsProvider from 'ui/vislib/components/color/mapped_colors'; export default function ColorUtilService(Private) { - var mappedColors = Private(VislibComponentsColorMappedColorsProvider); + let mappedColors = Private(VislibComponentsColorMappedColorsProvider); /* * Accepts an array of strings or numbers that are used to create a diff --git a/src/ui/public/vislib/components/color/color_palette.js b/src/ui/public/vislib/components/color/color_palette.js index 8150e18a90560..c380224e562f3 100644 --- a/src/ui/public/vislib/components/color/color_palette.js +++ b/src/ui/public/vislib/components/color/color_palette.js @@ -3,7 +3,7 @@ import _ from 'lodash'; import VislibComponentsColorSeedColorsProvider from 'ui/vislib/components/color/seed_colors'; export default function ColorPaletteUtilService(Private) { - var seedColors = Private(VislibComponentsColorSeedColorsProvider); + let seedColors = Private(VislibComponentsColorSeedColorsProvider); /* @@ -12,10 +12,10 @@ export default function ColorPaletteUtilService(Private) { * new colors are generated up to the value of the input number. */ - var offset = 300; // Hue offset to start at + let offset = 300; // Hue offset to start at - var fraction = function (goal) { - var walkTree = function (numerator, denominator, bytes) { + let fraction = function (goal) { + let walkTree = function (numerator, denominator, bytes) { if (bytes.length) { return walkTree( (numerator * 2) + (bytes.pop() ? 1 : -1), @@ -28,7 +28,7 @@ export default function ColorPaletteUtilService(Private) { } }; - var b = (goal + 2) + let b = (goal + 2) .toString(2) .split('') .map(function (num) { @@ -45,9 +45,9 @@ export default function ColorPaletteUtilService(Private) { throw new TypeError('ColorPaletteUtilService expects a number'); } - var colors = seedColors; + let colors = seedColors; - var seedLength = seedColors.length; + let seedLength = seedColors.length; _.times(num - seedLength, function (i) { colors.push(d3.hsl((fraction(i + seedLength + 1) * 360 + offset) % 360, 0.5, 0.5).toString()); diff --git a/src/ui/public/vislib/components/labels/data_array.js b/src/ui/public/vislib/components/labels/data_array.js index c96e89c93e5ad..1b830826cf604 100644 --- a/src/ui/public/vislib/components/labels/data_array.js +++ b/src/ui/public/vislib/components/labels/data_array.js @@ -1,7 +1,7 @@ import _ from 'lodash'; import VislibComponentsLabelsFlattenSeriesProvider from 'ui/vislib/components/labels/flatten_series'; export default function GetArrayUtilService(Private) { - var flattenSeries = Private(VislibComponentsLabelsFlattenSeriesProvider); + let flattenSeries = Private(VislibComponentsLabelsFlattenSeriesProvider); /* * Accepts a Kibana data object and returns an array of values objects. diff --git a/src/ui/public/vislib/components/labels/labels.js b/src/ui/public/vislib/components/labels/labels.js index ff0a300bd4289..72dde34576ee4 100644 --- a/src/ui/public/vislib/components/labels/labels.js +++ b/src/ui/public/vislib/components/labels/labels.js @@ -4,9 +4,9 @@ import VislibComponentsLabelsUniqLabelsProvider from 'ui/vislib/components/label import VislibComponentsLabelsPiePieLabelsProvider from 'ui/vislib/components/labels/pie/pie_labels'; export default function LabelUtilService(Private) { - var createArr = Private(VislibComponentsLabelsDataArrayProvider); - var getArrOfUniqLabels = Private(VislibComponentsLabelsUniqLabelsProvider); - var getPieLabels = Private(VislibComponentsLabelsPiePieLabelsProvider); + let createArr = Private(VislibComponentsLabelsDataArrayProvider); + let getArrOfUniqLabels = Private(VislibComponentsLabelsUniqLabelsProvider); + let getPieLabels = Private(VislibComponentsLabelsPiePieLabelsProvider); /* * Accepts a Kibana data object and returns an array of unique labels (strings). diff --git a/src/ui/public/vislib/components/labels/pie/get_pie_names.js b/src/ui/public/vislib/components/labels/pie/get_pie_names.js index c8dd88602007a..4d157daa7934b 100644 --- a/src/ui/public/vislib/components/labels/pie/get_pie_names.js +++ b/src/ui/public/vislib/components/labels/pie/get_pie_names.js @@ -2,10 +2,10 @@ import _ from 'lodash'; import VislibComponentsLabelsPieReturnPieNamesProvider from 'ui/vislib/components/labels/pie/return_pie_names'; export default function GetPieNames(Private) { - var returnNames = Private(VislibComponentsLabelsPieReturnPieNamesProvider); + let returnNames = Private(VislibComponentsLabelsPieReturnPieNamesProvider); return function (data, columns) { - var slices = data.slices; + let slices = data.slices; if (slices.children) { return _(returnNames(slices.children, 0, columns)) diff --git a/src/ui/public/vislib/components/labels/pie/pie_labels.js b/src/ui/public/vislib/components/labels/pie/pie_labels.js index 47cb645a968e7..a4741102e6228 100644 --- a/src/ui/public/vislib/components/labels/pie/pie_labels.js +++ b/src/ui/public/vislib/components/labels/pie/pie_labels.js @@ -3,17 +3,17 @@ import VislibComponentsLabelsPieRemoveZeroSlicesProvider from 'ui/vislib/compone import VislibComponentsLabelsPieGetPieNamesProvider from 'ui/vislib/components/labels/pie/get_pie_names'; export default function PieLabels(Private) { - var removeZeroSlices = Private(VislibComponentsLabelsPieRemoveZeroSlicesProvider); - var getNames = Private(VislibComponentsLabelsPieGetPieNamesProvider); + let removeZeroSlices = Private(VislibComponentsLabelsPieRemoveZeroSlicesProvider); + let getNames = Private(VislibComponentsLabelsPieGetPieNamesProvider); return function (obj) { if (!_.isObject(obj)) { throw new TypeError('PieLabel expects an object'); } - var data = obj.columns || obj.rows || [obj]; - var names = []; + let data = obj.columns || obj.rows || [obj]; + let names = []; data.forEach(function (obj) { - var columns = obj.raw ? obj.raw.columns : undefined; + let columns = obj.raw ? obj.raw.columns : undefined; obj.slices = removeZeroSlices(obj.slices); getNames(obj, columns).forEach(function (name) { diff --git a/src/ui/public/vislib/components/labels/pie/return_pie_names.js b/src/ui/public/vislib/components/labels/pie/return_pie_names.js index 8f82535babe6e..e62f71499222b 100644 --- a/src/ui/public/vislib/components/labels/pie/return_pie_names.js +++ b/src/ui/public/vislib/components/labels/pie/return_pie_names.js @@ -1,7 +1,7 @@ define(function () { return function ReturnPieNames() { return function returnNames(array, index, columns) { - var names = []; + let names = []; array.forEach(function (obj) { names.push({ key: obj.name, index: index }); diff --git a/src/ui/public/vislib/components/tooltip/position_tooltip.js b/src/ui/public/vislib/components/tooltip/position_tooltip.js index 47cdbaa5b3c0b..14051f5c862c9 100644 --- a/src/ui/public/vislib/components/tooltip/position_tooltip.js +++ b/src/ui/public/vislib/components/tooltip/position_tooltip.js @@ -1,31 +1,31 @@ import _ from 'lodash'; import $ from 'jquery'; -var OFFSET = 10; +let OFFSET = 10; let $clone; // translate css properties into their basic direction -var propDirs = { +let propDirs = { top: 'north', left: 'west' }; function positionTooltip(opts, html) { if (!opts) return; - var $chart = $(opts.$chart); - var $el = $(opts.$el); - var $window = $(opts.$window || window); - var $sizer = $(opts.$sizer); - var prev = $chart.data('previousPlacement') || {}; - var event = opts.event; + let $chart = $(opts.$chart); + let $el = $(opts.$el); + let $window = $(opts.$window || window); + let $sizer = $(opts.$sizer); + let prev = $chart.data('previousPlacement') || {}; + let event = opts.event; if (!$chart.size() || !$el.size()) return; - var size = getTtSize(html || $el.html(), $sizer); - var pos = getBasePosition(size, event); - var overflow = getOverflow(size, pos, [$chart, $window]); + let size = getTtSize(html || $el.html(), $sizer); + let pos = getBasePosition(size, event); + let overflow = getOverflow(size, pos, [$chart, $window]); - var placement = placeToAvoidOverflow(pos, prev, overflow); + let placement = placeToAvoidOverflow(pos, prev, overflow); $chart.data('previousPlacement', placement); return placement; } @@ -35,7 +35,7 @@ function getTtSize(ttHtml, $sizer) { $sizer.html(ttHtml); } - var size = { + let size = { width: $sizer.outerWidth(), height: $sizer.outerHeight() }; @@ -55,7 +55,7 @@ function getBasePosition(size, event) { function getBounds($el) { // in testing, $window is not actually a window, so we need to add // the offsets to make it work right. - var bounds = $el.offset() || { top: 0, left: 0 }; + let bounds = $el.offset() || { top: 0, left: 0 }; bounds.top += $el.scrollTop(); bounds.left += $el.scrollLeft(); bounds.bottom = bounds.top + $el.outerHeight(); @@ -64,7 +64,7 @@ function getBounds($el) { } function getOverflow(size, pos, containers) { - var overflow = {}; + let overflow = {}; containers.map(getBounds).forEach(function (bounds) { // number of pixels that the toolip would overflow it's far @@ -90,16 +90,16 @@ function mergeOverflows(dest, src) { } function pickPlacement(prop, pos, overflow, prev, pref, fallback, placement) { - var stash = '_' + prop; + let stash = '_' + prop; // list of directions in order of preference - var dirs = _.unique([prev[stash], pref, fallback].filter(Boolean)); + let dirs = _.unique([prev[stash], pref, fallback].filter(Boolean)); let dir; let value; // find the first direction that doesn't overflow - for (var i = 0; i < dirs.length; i++) { + for (let i = 0; i < dirs.length; i++) { dir = dirs[i]; if (overflow[dir] > 0) continue; value = pos[dir]; @@ -111,7 +111,7 @@ function pickPlacement(prop, pos, overflow, prev, pref, fallback, placement) { if (value == null) { dir = dirs[0]; - var offset = overflow[dir]; + let offset = overflow[dir]; if (propDirs[prop] === dir) { // when the property represents the same direction // as dir, we flip the overflow @@ -126,7 +126,7 @@ function pickPlacement(prop, pos, overflow, prev, pref, fallback, placement) { } function placeToAvoidOverflow(pos, prev, overflow) { - var placement = {}; + let placement = {}; pickPlacement('top', pos, overflow, prev, 'south', 'north', placement); pickPlacement('left', pos, overflow, prev, 'east', 'west', placement); return placement; diff --git a/src/ui/public/vislib/components/tooltip/tooltip.js b/src/ui/public/vislib/components/tooltip/tooltip.js index 11687911c6173..451bc5528d4a8 100644 --- a/src/ui/public/vislib/components/tooltip/tooltip.js +++ b/src/ui/public/vislib/components/tooltip/tooltip.js @@ -4,7 +4,7 @@ import Binder from 'ui/binder'; import positionTooltip from './position_tooltip'; import $ from 'jquery'; -var allContents = []; +let allContents = []; /** * Add tooltip and listeners to visualization elements @@ -59,13 +59,13 @@ Tooltip.prototype.$getSizer = _.once(function () { * Show the tooltip, positioning it based on the content and chart container */ Tooltip.prototype.show = function () { - var $tooltip = this.$get(); - var $chart = this.$getChart(); - var html = $tooltip.html(); + let $tooltip = this.$get(); + let $chart = this.$getChart(); + let html = $tooltip.html(); if (!$chart) return; - var placement = positionTooltip({ + let placement = positionTooltip({ $window: $(window), $chart: $chart, $el: $tooltip, @@ -84,7 +84,7 @@ Tooltip.prototype.show = function () { * Hide the tooltip, clearing its contents */ Tooltip.prototype.hide = function () { - var $tooltip = this.$get(); + let $tooltip = this.$get(); allContents = []; $tooltip.css({ visibility: 'hidden', @@ -100,7 +100,7 @@ Tooltip.prototype.hide = function () { * @return {Object} jQuery node for the chart */ Tooltip.prototype.$getChart = function () { - var chart = $(this.container && this.container.node()); + let chart = $(this.container && this.container.node()); return chart.size() ? chart : false; }; @@ -111,7 +111,7 @@ Tooltip.prototype.$getChart = function () { * @return {Function} Renders tooltip on a D3 selection */ Tooltip.prototype.render = function () { - var self = this; + let self = this; /** * Calculates values for the tooltip placement @@ -119,17 +119,17 @@ Tooltip.prototype.render = function () { * @param {Object} selection D3 selection object */ return function (selection) { - var $tooltip = self.$get(); - var id = self.id; - var order = self.order; + let $tooltip = self.$get(); + let id = self.id; + let order = self.order; - var tooltipSelection = d3.select($tooltip.get(0)); + let tooltipSelection = d3.select($tooltip.get(0)); if (self.container === undefined || self.container !== d3.select(self.el).select('.' + self.containerClass)) { self.container = d3.select(self.el).select('.' + self.containerClass); } - var $chart = self.$getChart(); + let $chart = self.$getChart(); if ($chart) { self.binder.jqOn($chart, 'mouseleave', function (event) { // only clear when we leave the chart, so that @@ -139,7 +139,7 @@ Tooltip.prototype.render = function () { } selection.each(function (d, i) { - var element = d3.select(this); + let element = d3.select(this); function render(html) { allContents = _.filter(allContents, function (content) { @@ -148,7 +148,7 @@ Tooltip.prototype.render = function () { if (html) allContents.push({ id: id, html: html, order: order }); - var allHtml = _(allContents) + let allHtml = _(allContents) .sortBy('order') .pluck('html') .compact() @@ -167,7 +167,7 @@ Tooltip.prototype.render = function () { return render(); } - var events = self.events ? self.events.eventResponse(d, i) : d; + let events = self.events ? self.events.eventResponse(d, i) : d; return render(self.formatter(events)); }); diff --git a/src/ui/public/vislib/components/zero_injection/inject_zeros.js b/src/ui/public/vislib/components/zero_injection/inject_zeros.js index b24841e036dda..f738a7e424867 100644 --- a/src/ui/public/vislib/components/zero_injection/inject_zeros.js +++ b/src/ui/public/vislib/components/zero_injection/inject_zeros.js @@ -4,9 +4,9 @@ import VislibComponentsZeroInjectionZeroFilledArrayProvider from 'ui/vislib/comp import VislibComponentsZeroInjectionZeroFillDataArrayProvider from 'ui/vislib/components/zero_injection/zero_fill_data_array'; export default function ZeroInjectionUtilService(Private) { - var orderXValues = Private(VislibComponentsZeroInjectionOrderedXKeysProvider); - var createZeroFilledArray = Private(VislibComponentsZeroInjectionZeroFilledArrayProvider); - var zeroFillDataArray = Private(VislibComponentsZeroInjectionZeroFillDataArrayProvider); + let orderXValues = Private(VislibComponentsZeroInjectionOrderedXKeysProvider); + let createZeroFilledArray = Private(VislibComponentsZeroInjectionZeroFilledArrayProvider); + let zeroFillDataArray = Private(VislibComponentsZeroInjectionZeroFillDataArrayProvider); /* * A Kibana data object may have multiple series with different array lengths. @@ -34,12 +34,12 @@ export default function ZeroInjectionUtilService(Private) { throw new TypeError('ZeroInjectionUtilService expects an object with a series, rows, or columns key'); } - var keys = orderXValues(obj); - var arr = getDataArray(obj); + let keys = orderXValues(obj); + let arr = getDataArray(obj); arr.forEach(function (object) { object.series.forEach(function (series) { - var zeroArray = createZeroFilledArray(keys); + let zeroArray = createZeroFilledArray(keys); series.values = zeroFillDataArray(zeroArray, series.values); }); diff --git a/src/ui/public/vislib/components/zero_injection/ordered_x_keys.js b/src/ui/public/vislib/components/zero_injection/ordered_x_keys.js index 5e0ffd9d0da92..1deab31715ec1 100644 --- a/src/ui/public/vislib/components/zero_injection/ordered_x_keys.js +++ b/src/ui/public/vislib/components/zero_injection/ordered_x_keys.js @@ -2,7 +2,7 @@ import _ from 'lodash'; import moment from 'moment'; import VislibComponentsZeroInjectionUniqKeysProvider from 'ui/vislib/components/zero_injection/uniq_keys'; export default function OrderedXKeysUtilService(Private) { - var getUniqKeys = Private(VislibComponentsZeroInjectionUniqKeysProvider); + let getUniqKeys = Private(VislibComponentsZeroInjectionUniqKeysProvider); /* * Accepts a Kibana data object and returns @@ -16,11 +16,11 @@ export default function OrderedXKeysUtilService(Private) { throw new Error('OrderedXKeysUtilService expects an object'); } - var uniqKeys = getUniqKeys(obj); - var uniqKeysPairs = [...uniqKeys.entries()]; + let uniqKeys = getUniqKeys(obj); + let uniqKeysPairs = [...uniqKeys.entries()]; - var interval = _.get(obj, 'ordered.interval'); - var dateInterval = moment.isDuration(interval) ? interval : false; + let interval = _.get(obj, 'ordered.interval'); + let dateInterval = moment.isDuration(interval) ? interval : false; return _(uniqKeysPairs) .sortBy(function (d) { @@ -32,14 +32,14 @@ export default function OrderedXKeysUtilService(Private) { .map(function (d, i, list) { if (!d[1].isNumber) return d[0]; - var val = +d[0]; + let val = +d[0]; if (interval == null) return val; - var gapEdge = parseFloat(_.get(list, [i + 1, 0])); + let gapEdge = parseFloat(_.get(list, [i + 1, 0])); if (isNaN(gapEdge)) return val; - var vals = []; - var next = val; + let vals = []; + let next = val; if (dateInterval) { next = moment(val); diff --git a/src/ui/public/vislib/components/zero_injection/uniq_keys.js b/src/ui/public/vislib/components/zero_injection/uniq_keys.js index 49fe26f96aee2..0afe4705b579f 100644 --- a/src/ui/public/vislib/components/zero_injection/uniq_keys.js +++ b/src/ui/public/vislib/components/zero_injection/uniq_keys.js @@ -2,7 +2,7 @@ import _ from 'lodash'; import VislibComponentsZeroInjectionFlattenDataProvider from 'ui/vislib/components/zero_injection/flatten_data'; export default function UniqueXValuesUtilService(Private) { - var flattenDataArray = Private(VislibComponentsZeroInjectionFlattenDataProvider); + let flattenDataArray = Private(VislibComponentsZeroInjectionFlattenDataProvider); /* * Accepts a Kibana data object. @@ -16,8 +16,8 @@ export default function UniqueXValuesUtilService(Private) { throw new TypeError('UniqueXValuesUtilService expects an object'); } - var flattenedData = flattenDataArray(obj); - var uniqueXValues = new Map(); + let flattenedData = flattenDataArray(obj); + let uniqueXValues = new Map(); let charts; if (!obj.series) { @@ -26,17 +26,17 @@ export default function UniqueXValuesUtilService(Private) { charts = [obj]; } - var isDate = charts.every(function (chart) { + let isDate = charts.every(function (chart) { return chart.ordered && chart.ordered.date; }); - var isOrdered = charts.every(function (chart) { + let isOrdered = charts.every(function (chart) { return chart.ordered; }); flattenedData.forEach(function (d, i) { - var key = d.x; - var prev = uniqueXValues.get(key); + let key = d.x; + let prev = uniqueXValues.get(key); if (d.xi != null) { i = d.xi; diff --git a/src/ui/public/vislib/components/zero_injection/zero_fill_data_array.js b/src/ui/public/vislib/components/zero_injection/zero_fill_data_array.js index 21e98e1b9f740..1055e8000f6f8 100644 --- a/src/ui/public/vislib/components/zero_injection/zero_fill_data_array.js +++ b/src/ui/public/vislib/components/zero_injection/zero_fill_data_array.js @@ -15,9 +15,9 @@ export default function ZeroFillDataArrayUtilService(Private) { let i; let val; let index; - var max = arr2.length; + let max = arr2.length; - var getX = function (d) { + let getX = function (d) { return d.x === val.x; }; diff --git a/src/ui/public/vislib/components/zero_injection/zero_filled_array.js b/src/ui/public/vislib/components/zero_injection/zero_filled_array.js index b9d389602fbf8..3a78af8065d99 100644 --- a/src/ui/public/vislib/components/zero_injection/zero_filled_array.js +++ b/src/ui/public/vislib/components/zero_injection/zero_filled_array.js @@ -12,7 +12,7 @@ define(function () { throw new Error('ZeroFilledArrayUtilService expects an array of strings or numbers'); } - var zeroFilledArray = []; + let zeroFilledArray = []; arr.forEach(function (val) { zeroFilledArray.push({ diff --git a/src/ui/public/vislib/lib/_error_handler.js b/src/ui/public/vislib/lib/_error_handler.js index 6981715b70726..3baa5da76a11d 100644 --- a/src/ui/public/vislib/lib/_error_handler.js +++ b/src/ui/public/vislib/lib/_error_handler.js @@ -21,8 +21,8 @@ export default function ErrorHandlerFactory() { * @returns {HTMLElement} HTML div with an error message */ ErrorHandler.prototype.validateWidthandHeight = function (width, height) { - var badWidth = _.isNaN(width) || width <= 0; - var badHeight = _.isNaN(height) || height <= 0; + let badWidth = _.isNaN(width) || width <= 0; + let badHeight = _.isNaN(height) || height <= 0; if (badWidth || badHeight) { throw new errors.ContainerTooSmall(); diff --git a/src/ui/public/vislib/lib/alerts.js b/src/ui/public/vislib/lib/alerts.js index 76d1404656c04..7f44f7a9608f7 100644 --- a/src/ui/public/vislib/lib/alerts.js +++ b/src/ui/public/vislib/lib/alerts.js @@ -22,7 +22,7 @@ export default function AlertsFactory(Private) { this.alertDefs = alertDefs || []; this.binder.jqOn(vis.el, 'mouseenter', '.vis-alerts-tray', function () { - var $tray = $(this); + let $tray = $(this); hide(); $(vis.el).on('mousemove', checkForExit); @@ -42,13 +42,13 @@ export default function AlertsFactory(Private) { } function checkForExit(event) { - var pos = $tray.offset(); + let pos = $tray.offset(); if (pos.top > event.clientY || pos.left > event.clientX) return show(); - var bottom = pos.top + $tray.height(); + let bottom = pos.top + $tray.height(); if (event.clientY > bottom) return show(); - var right = pos.left + $tray.width(); + let right = pos.left + $tray.width(); if (event.clientX > right) return show(); } }); @@ -61,21 +61,21 @@ export default function AlertsFactory(Private) { * @returns {D3.Selection|D3.Transition.Transition} DOM element with chart titles */ Alerts.prototype.render = function () { - var vis = this.vis; - var data = this.data; + let vis = this.vis; + let data = this.data; - var alerts = _(this.alertDefs) + let alerts = _(this.alertDefs) .map(function (alertDef) { if (!alertDef) return; if (alertDef.test && !alertDef.test(vis, data)) return; - var type = alertDef.type || 'info'; - var icon = alertDef.icon || type; - var msg = alertDef.msg; + let type = alertDef.type || 'info'; + let icon = alertDef.icon || type; + let msg = alertDef.msg; // alert container - var $icon = $('').addClass('vis-alerts-icon fa fa-' + icon); - var $text = $('

').addClass('vis-alerts-text').text(msg); + let $icon = $('').addClass('vis-alerts-icon fa fa-' + icon); + let $text = $('

').addClass('vis-alerts-text').text(msg); return $('

').addClass('vis-alert vis-alert-' + type).append([$icon, $text]); }) diff --git a/src/ui/public/vislib/lib/axis_title.js b/src/ui/public/vislib/lib/axis_title.js index 44ac209d2e67b..297f55a9be81b 100644 --- a/src/ui/public/vislib/lib/axis_title.js +++ b/src/ui/public/vislib/lib/axis_title.js @@ -4,7 +4,7 @@ import _ from 'lodash'; import VislibLibErrorHandlerProvider from 'ui/vislib/lib/_error_handler'; export default function AxisTitleFactory(Private) { - var ErrorHandler = Private(VislibLibErrorHandlerProvider); + let ErrorHandler = Private(VislibLibErrorHandlerProvider); /** * Appends axis title(s) to the visualization @@ -45,14 +45,14 @@ export default function AxisTitleFactory(Private) { * @returns {Function} Appends axis title to a D3 selection */ AxisTitle.prototype.draw = function (title) { - var self = this; + let self = this; return function (selection) { selection.each(function () { - var el = this; - var div = d3.select(el); - var width = $(el).width(); - var height = $(el).height(); + let el = this; + let div = d3.select(el); + let width = $(el).width(); + let height = $(el).height(); self.validateWidthandHeight(width, height); diff --git a/src/ui/public/vislib/lib/chart_title.js b/src/ui/public/vislib/lib/chart_title.js index e5aacec2d1639..b0442758a8e5b 100644 --- a/src/ui/public/vislib/lib/chart_title.js +++ b/src/ui/public/vislib/lib/chart_title.js @@ -5,8 +5,8 @@ import VislibLibErrorHandlerProvider from 'ui/vislib/lib/_error_handler'; import VislibComponentsTooltipProvider from 'ui/vislib/components/tooltip'; export default function ChartTitleFactory(Private) { - var ErrorHandler = Private(VislibLibErrorHandlerProvider); - var Tooltip = Private(VislibComponentsTooltipProvider); + let ErrorHandler = Private(VislibLibErrorHandlerProvider); + let Tooltip = Private(VislibComponentsTooltipProvider); /** * Appends chart titles to the visualization @@ -34,9 +34,9 @@ export default function ChartTitleFactory(Private) { * @returns {D3.Selection|D3.Transition.Transition} DOM element with chart titles */ ChartTitle.prototype.render = function () { - var el = d3.select(this.el).select('.chart-title').node(); - var width = el ? el.clientWidth : 0; - var height = el ? el.clientHeight : 0; + let el = d3.select(this.el).select('.chart-title').node(); + let width = el ? el.clientWidth : 0; + let height = el ? el.clientHeight : 0; return d3.select(this.el).selectAll('.chart-title').call(this.draw(width, height)); }; @@ -49,14 +49,14 @@ export default function ChartTitleFactory(Private) { * @returns {Function} Truncates text */ ChartTitle.prototype.truncate = function (size) { - var self = this; + let self = this; return function (selection) { selection.each(function () { - var text = d3.select(this); - var n = text[0].length; - var maxWidth = size / n * 0.9; - var length = this.getComputedTextLength(); + let text = d3.select(this); + let n = text[0].length; + let maxWidth = size / n * 0.9; + let length = this.getComputedTextLength(); let str; let avg; let end; @@ -96,14 +96,14 @@ export default function ChartTitleFactory(Private) { * @returns {Function} Appends chart titles to a D3 selection */ ChartTitle.prototype.draw = function (width, height) { - var self = this; + let self = this; return function (selection) { selection.each(function () { - var div = d3.select(this); - var dataType = this.parentNode.__data__.rows ? 'rows' : 'columns'; - var size = dataType === 'rows' ? height : width; - var txtHtOffset = 11; + let div = d3.select(this); + let dataType = this.parentNode.__data__.rows ? 'rows' : 'columns'; + let size = dataType === 'rows' ? height : width; + let txtHtOffset = 11; self.validateWidthandHeight(width, height); diff --git a/src/ui/public/vislib/lib/data.js b/src/ui/public/vislib/lib/data.js index cf7f41e79daa1..5adceeb12ec45 100644 --- a/src/ui/public/vislib/lib/data.js +++ b/src/ui/public/vislib/lib/data.js @@ -7,10 +7,10 @@ import VislibComponentsLabelsLabelsProvider from 'ui/vislib/components/labels/la import VislibComponentsColorColorProvider from 'ui/vislib/components/color/color'; export default function DataFactory(Private) { - var injectZeros = Private(VislibComponentsZeroInjectionInjectZerosProvider); - var orderKeys = Private(VislibComponentsZeroInjectionOrderedXKeysProvider); - var getLabels = Private(VislibComponentsLabelsLabelsProvider); - var color = Private(VislibComponentsColorColorProvider); + let injectZeros = Private(VislibComponentsZeroInjectionInjectZerosProvider); + let orderKeys = Private(VislibComponentsZeroInjectionOrderedXKeysProvider); + let getLabels = Private(VislibComponentsLabelsLabelsProvider); + let color = Private(VislibComponentsColorColorProvider); /** * Provides an API for pulling values off the data @@ -28,7 +28,7 @@ export default function DataFactory(Private) { this.uiState = uiState; - var self = this; + let self = this; let offset; if (attr.mode === 'stacked') { @@ -85,7 +85,7 @@ export default function DataFactory(Private) { Data.prototype._getLabels = function (data) { if (this.type === 'series') { - var noLabel = getLabels(data).length === 1 && getLabels(data)[0] === ''; + let noLabel = getLabels(data).length === 1 && getLabels(data)[0] === ''; if (noLabel) { this._updateData(); return [(this.get('yAxisLabel'))]; @@ -120,7 +120,7 @@ export default function DataFactory(Private) { * Returns the results of the addition of numbers in a filtered array. */ Data.prototype._sumYs = function (arr, callback) { - var filteredArray = arr.filter(callback); + let filteredArray = arr.filter(callback); return (filteredArray.length) ? filteredArray.reduce(this._addVals) : 0; }; @@ -137,8 +137,8 @@ export default function DataFactory(Private) { * */ Data.prototype._getCounts = function (i, j) { - var data = this.chartData(); - var dataLengths = {}; + let data = this.chartData(); + let dataLengths = {}; dataLengths.charts = data.length; dataLengths.stacks = dataLengths.charts ? data[i].series.length : 0; @@ -151,7 +151,7 @@ export default function DataFactory(Private) { * */ Data.prototype._createCache = function () { - var cache = { + let cache = { index: { chart: 0, stack: 0, @@ -172,7 +172,7 @@ export default function DataFactory(Private) { * mixed datasets containing both positive and negative values. */ Data.prototype._stackNegAndPosVals = function (d, y0, y) { - var data = this.chartData(); + let data = this.chartData(); // Storing counters and data characteristics needed to stack values properly if (!this._cache) { @@ -184,7 +184,7 @@ export default function DataFactory(Private) { // last stack, or last value, reset the stack count and y value array - var lastStack = (this._cache.index.stack >= this._cache.count.stacks); + let lastStack = (this._cache.index.stack >= this._cache.count.stacks); if (lastStack) { this._cache.index.stack = 0; ++this._cache.index.value; @@ -195,7 +195,7 @@ export default function DataFactory(Private) { } // last value, prepare for the next chart, if one exists - var lastValue = (this._cache.index.value >= this._cache.count.values); + let lastValue = (this._cache.index.value >= this._cache.count.values); if (lastValue) { this._cache.index.value = 0; ++this._cache.index.chart; @@ -207,14 +207,14 @@ export default function DataFactory(Private) { } // get stack and value count for next chart - var chartSeries = data[this._cache.index.chart].series; + let chartSeries = data[this._cache.index.chart].series; this._cache.count.stacks = chartSeries.length; this._cache.count.values = chartSeries.length ? chartSeries[this._cache.index.stack].values.length : 0; } }; Data.prototype.getDataType = function () { - var data = this.getVisData(); + let data = this.getVisData(); let type; data.forEach(function (obj) { @@ -239,7 +239,7 @@ export default function DataFactory(Private) { */ Data.prototype.chartData = function () { if (!this.data.series) { - var arr = this.data.rows ? this.data.rows : this.data.columns; + let arr = this.data.rows ? this.data.rows : this.data.columns; return _.toArray(arr); } return [this.data]; @@ -272,7 +272,7 @@ export default function DataFactory(Private) { * @return {Object} */ Data.prototype.getGeoExtents = function () { - var visData = this.getVisData(); + let visData = this.getVisData(); return _.reduce(_.pluck(visData, 'geoJson.properties'), function (minMax, props) { return { @@ -306,7 +306,7 @@ export default function DataFactory(Private) { * @returns {*} Data object value */ Data.prototype.get = function (thing, def) { - var source = (this.data.rows || this.data.columns || [this.data])[0]; + let source = (this.data.rows || this.data.columns || [this.data])[0]; return _.get(source, thing, def); }; @@ -315,7 +315,7 @@ export default function DataFactory(Private) { * @returns {*} */ Data.prototype.hasNullValues = function () { - var chartData = this.chartData(); + let chartData = this.chartData(); return chartData.some(function (chart) { return chart.series.some(function (obj) { @@ -351,13 +351,13 @@ export default function DataFactory(Private) { * @returns {boolean} */ Data.prototype.shouldBeStacked = function () { - var isHistogram = (this._attr.type === 'histogram'); - var isArea = (this._attr.type === 'area'); - var isOverlapping = (this._attr.mode === 'overlap'); - var grouped = (this._attr.mode === 'grouped'); + let isHistogram = (this._attr.type === 'histogram'); + let isArea = (this._attr.type === 'area'); + let isOverlapping = (this._attr.mode === 'overlap'); + let grouped = (this._attr.mode === 'grouped'); - var stackedHisto = isHistogram && !grouped; - var stackedArea = isArea && !isOverlapping; + let stackedHisto = isHistogram && !grouped; + let stackedArea = isArea && !isOverlapping; return stackedHisto || stackedArea; }; @@ -387,27 +387,27 @@ export default function DataFactory(Private) { * @returns {Number} Min y axis value */ Data.prototype.getYMin = function (getValue) { - var self = this; - var arr = []; + let self = this; + let arr = []; if (this._attr.mode === 'percentage' || this._attr.mode === 'wiggle' || this._attr.mode === 'silhouette') { return 0; } - var flat = this.flatten(); + let flat = this.flatten(); // if there is only one data point and its less than zero, // return 0 as the yMax value. if (!flat.length || flat.length === 1 && flat[0].y > 0) { return 0; } - var min = Infinity; + let min = Infinity; // for each object in the dataArray, // push the calculated y value to the initialized array (arr) _.each(this.chartData(), function (chart) { - var calculatedMin = self._getYExtent(chart, 'min', getValue); + let calculatedMin = self._getYExtent(chart, 'min', getValue); if (!_.isUndefined(calculatedMin)) { min = Math.min(min, calculatedMin); } @@ -427,26 +427,26 @@ export default function DataFactory(Private) { * @returns {Number} Max y axis value */ Data.prototype.getYMax = function (getValue) { - var self = this; - var arr = []; + let self = this; + let arr = []; if (self._attr.mode === 'percentage') { return 1; } - var flat = this.flatten(); + let flat = this.flatten(); // if there is only one data point and its less than zero, // return 0 as the yMax value. if (!flat.length || flat.length === 1 && flat[0].y < 0) { return 0; } - var max = -Infinity; + let max = -Infinity; // for each object in the dataArray, // push the calculated y value to the initialized array (arr) _.each(this.chartData(), function (chart) { - var calculatedMax = self._getYExtent(chart, 'max', getValue); + let calculatedMax = self._getYExtent(chart, 'max', getValue); if (!_.isUndefined(calculatedMax)) { max = Math.max(max, calculatedMax); } @@ -484,7 +484,7 @@ export default function DataFactory(Private) { getValue = getValue || this._getY; } - var points = chart.series + let points = chart.series .reduce(function (points, series) { return points.concat(series.values); }, []) @@ -519,8 +519,8 @@ export default function DataFactory(Private) { * @returns {Array} Array of labels (strings) */ Data.prototype.returnNames = function (array, index, columns) { - var names = []; - var self = this; + let names = []; + let self = this; _.forEach(array, function (obj, i) { names.push({ @@ -530,7 +530,7 @@ export default function DataFactory(Private) { }); if (obj.children) { - var plusIndex = index + 1; + let plusIndex = index + 1; _.forEach(self.returnNames(obj.children, plusIndex, columns), function (namedObj) { names.push(namedObj); @@ -552,10 +552,10 @@ export default function DataFactory(Private) { * @returns {Array} Array of names (strings) */ Data.prototype.getNames = function (data, columns) { - var slices = data.slices; + let slices = data.slices; if (slices.children) { - var namedObj = this.returnNames(slices.children, 0, columns); + let namedObj = this.returnNames(slices.children, 0, columns); return _(namedObj) .sortBy(function (obj) { @@ -574,7 +574,7 @@ export default function DataFactory(Private) { * @returns {*} */ Data.prototype._removeZeroSlices = function (slices) { - var self = this; + let self = this; if (!slices.children) return slices; @@ -597,11 +597,11 @@ export default function DataFactory(Private) { * @returns {Array} Array of unique names (strings) */ Data.prototype.pieNames = function (data) { - var self = this; - var names = []; + let self = this; + let names = []; _.forEach(data, function (obj) { - var columns = obj.raw ? obj.raw.columns : undefined; + let columns = obj.raw ? obj.raw.columns : undefined; obj.slices = self._removeZeroSlices(obj.slices); _.forEach(self.getNames(obj, columns), function (name) { @@ -673,17 +673,17 @@ export default function DataFactory(Private) { * @return {undefined} */ Data.prototype._normalizeOrdered = function () { - var data = this.getVisData(); - var self = this; + let data = this.getVisData(); + let self = this; data.forEach(function (d) { if (!d.ordered || !d.ordered.date) return; - var missingMin = d.ordered.min == null; - var missingMax = d.ordered.max == null; + let missingMin = d.ordered.min == null; + let missingMax = d.ordered.max == null; if (missingMax || missingMin) { - var extent = d3.extent(self.xValues()); + let extent = d3.extent(self.xValues()); if (missingMin) d.ordered.min = extent[0]; if (missingMax) d.ordered.max = extent[1]; } @@ -705,7 +705,7 @@ export default function DataFactory(Private) { values = _.map(series.rows, function (row) { return row[row.length - 1]; }); - var extents = [_.min(values), _.max(values)]; + let extents = [_.min(values), _.max(values)]; return extents; }; diff --git a/src/ui/public/vislib/lib/dispatch.js b/src/ui/public/vislib/lib/dispatch.js index 68092b8e2d9b9..fd2820f1a4028 100644 --- a/src/ui/public/vislib/lib/dispatch.js +++ b/src/ui/public/vislib/lib/dispatch.js @@ -4,7 +4,7 @@ import $ from 'jquery'; import SimpleEmitter from 'ui/utils/simple_emitter'; import VislibComponentsTooltipProvider from 'ui/vislib/components/tooltip'; export default function DispatchClass(Private) { - var Tooltip = Private(VislibComponentsTooltipProvider); + let Tooltip = Private(VislibComponentsTooltipProvider); /** * Handles event responses @@ -35,19 +35,19 @@ export default function DispatchClass(Private) { * e: (d3.event|*), handler: (Object|*)}} Event response object */ Dispatch.prototype.eventResponse = function (d, i) { - var datum = d._input || d; - var data = d3.event.target.nearestViewportElement ? + let datum = d._input || d; + let data = d3.event.target.nearestViewportElement ? d3.event.target.nearestViewportElement.__data__ : d3.event.target.__data__; - var label = d.label ? d.label : d.name; - var isSeries = !!(data && data.series); - var isSlices = !!(data && data.slices); - var series = isSeries ? data.series : undefined; - var slices = isSlices ? data.slices : undefined; - var handler = this.handler; - var color = _.get(handler, 'data.color'); - var isPercentage = (handler && handler._attr.mode === 'percentage'); - - var eventData = { + let label = d.label ? d.label : d.name; + let isSeries = !!(data && data.series); + let isSlices = !!(data && data.slices); + let series = isSeries ? data.series : undefined; + let slices = isSlices ? data.slices : undefined; + let handler = this.handler; + let color = _.get(handler, 'data.color'); + let isPercentage = (handler && handler._attr.mode === 'percentage'); + + let eventData = { value: d.y, point: datum, datum: datum, @@ -64,7 +64,7 @@ export default function DispatchClass(Private) { if (isSeries) { // Find object with the actual d value and add it to the point object - var object = _.find(series, { 'label': d.label }); + let object = _.find(series, { 'label': d.label }); eventData.value = +object.values[i].y; if (isPercentage) { @@ -87,7 +87,7 @@ export default function DispatchClass(Private) { Dispatch.prototype.addEvent = function (event, callback) { return function (selection) { selection.each(function () { - var element = d3.select(this); + let element = d3.select(this); if (typeof callback === 'function') { return element.on(event, callback); @@ -102,10 +102,10 @@ export default function DispatchClass(Private) { * @returns {Function} */ Dispatch.prototype.addHoverEvent = function () { - var self = this; - var isClickable = this.listenerCount('click') > 0; - var addEvent = this.addEvent; - var $el = this.handler.el; + let self = this; + let isClickable = this.listenerCount('click') > 0; + let addEvent = this.addEvent; + let $el = this.handler.el; if (!this.handler.highlight) { this.handler.highlight = self.highlight; } @@ -129,9 +129,9 @@ export default function DispatchClass(Private) { * @returns {Function} */ Dispatch.prototype.addMouseoutEvent = function () { - var self = this; - var addEvent = this.addEvent; - var $el = this.handler.el; + let self = this; + let addEvent = this.addEvent; + let $el = this.handler.el; if (!this.handler.unHighlight) { this.handler.unHighlight = self.unHighlight; } @@ -149,8 +149,8 @@ export default function DispatchClass(Private) { * @returns {Function} */ Dispatch.prototype.addClickEvent = function () { - var self = this; - var addEvent = this.addEvent; + let self = this; + let addEvent = this.addEvent; function click(d, i) { self.emit('click', self.eventResponse(d, i)); @@ -166,9 +166,9 @@ export default function DispatchClass(Private) { * @returns {Boolean} */ Dispatch.prototype.allowBrushing = function () { - var xAxis = this.handler.xAxis; + let xAxis = this.handler.xAxis; // Don't allow brushing for time based charts from non-time-based indices - var hasTimeField = this.handler.vis._attr.hasTimeField; + let hasTimeField = this.handler.vis._attr.hasTimeField; return Boolean(hasTimeField && xAxis.ordered && xAxis.xScale && _.isFunction(xAxis.xScale.invert)); }; @@ -191,16 +191,16 @@ export default function DispatchClass(Private) { Dispatch.prototype.addBrushEvent = function (svg) { if (!this.isBrushable()) return; - var xScale = this.handler.xAxis.xScale; - var yScale = this.handler.xAxis.yScale; - var brush = this.createBrush(xScale, svg); + let xScale = this.handler.xAxis.xScale; + let yScale = this.handler.xAxis.yScale; + let brush = this.createBrush(xScale, svg); function brushEnd() { if (!validBrushClick(d3.event)) return; - var bar = d3.select(this); - var startX = d3.mouse(svg.node()); - var startXInv = xScale.invert(startX[0]); + let bar = d3.select(this); + let startX = d3.mouse(svg.node()); + let startXInv = xScale.invert(startX[0]); // Reset the brush value brush.extent([startXInv, startXInv]); @@ -234,7 +234,7 @@ export default function DispatchClass(Private) { * @method highlight */ Dispatch.prototype.highlight = function (element) { - var label = this.getAttribute('data-label'); + let label = this.getAttribute('data-label'); if (!label) return; //Opacity 1 is needed to avoid the css application $('[data-label]', element.parentNode).css('opacity', 1).not( @@ -260,26 +260,26 @@ export default function DispatchClass(Private) { * @returns {*} Returns a D3 brush function and a SVG with a brush group attached */ Dispatch.prototype.createBrush = function (xScale, svg) { - var self = this; - var attr = self.handler._attr; - var height = attr.height; - var margin = attr.margin; + let self = this; + let attr = self.handler._attr; + let height = attr.height; + let margin = attr.margin; // Brush scale - var brush = d3.svg.brush() + let brush = d3.svg.brush() .x(xScale) .on('brushend', function brushEnd() { // Assumes data is selected at the chart level // In this case, the number of data objects should always be 1 - var data = d3.select(this).data()[0]; - var isTimeSeries = (data.ordered && data.ordered.date); + let data = d3.select(this).data()[0]; + let isTimeSeries = (data.ordered && data.ordered.date); // Allows for brushing on d3.scale.ordinal() - var selected = xScale.domain().filter(function (d) { + let selected = xScale.domain().filter(function (d) { return (brush.extent()[0] <= xScale(d)) && (xScale(d) <= brush.extent()[1]); }); - var range = isTimeSeries ? brush.extent() : selected; + let range = isTimeSeries ? brush.extent() : selected; return self.emit('brush', { range: range, @@ -296,7 +296,7 @@ export default function DispatchClass(Private) { .call(brush) .call(function (brushG) { // hijack the brush start event to filter out right/middle clicks - var brushHandler = brushG.on('mousedown.brush'); + let brushHandler = brushG.on('mousedown.brush'); if (!brushHandler) return; // touch events in use brushG.on('mousedown.brush', function () { if (validBrushClick(d3.event)) brushHandler.apply(this, arguments); diff --git a/src/ui/public/vislib/lib/handler/handler.js b/src/ui/public/vislib/lib/handler/handler.js index b0e4bf6d8ea57..a74c627931860 100644 --- a/src/ui/public/vislib/lib/handler/handler.js +++ b/src/ui/public/vislib/lib/handler/handler.js @@ -6,8 +6,8 @@ import VislibLibDataProvider from 'ui/vislib/lib/data'; import VislibLibLayoutLayoutProvider from 'ui/vislib/lib/layout/layout'; export default function HandlerBaseClass(Private) { - var Data = Private(VislibLibDataProvider); - var Layout = Private(VislibLibLayoutLayoutProvider); + let Data = Private(VislibLibDataProvider); + let Layout = Private(VislibLibLayoutLayoutProvider); /** * Handles building all the components of the visualization @@ -53,7 +53,7 @@ export default function HandlerBaseClass(Private) { // memoize so that the same function is returned every time, // allowing us to remove/re-add the same function this.getProxyHandler = _.memoize(function (event) { - var self = this; + let self = this; return function (e) { self.vis.emit(event, e); }; @@ -68,7 +68,7 @@ export default function HandlerBaseClass(Private) { * @private */ Handler.prototype._validateData = function () { - var dataType = this.data.type; + let dataType = this.data.type; if (!dataType) { throw new errors.NoResults(); @@ -83,9 +83,9 @@ export default function HandlerBaseClass(Private) { * @returns {HTMLElement} With the visualization child element */ Handler.prototype.render = function () { - var self = this; - var charts = this.charts = []; - var selection = d3.select(this.el); + let self = this; + let charts = this.charts = []; + let selection = d3.select(this.el); selection.selectAll('*').remove(); @@ -99,7 +99,7 @@ export default function HandlerBaseClass(Private) { // render the chart(s) selection.selectAll('.chart') .each(function (chartData) { - var chart = new self.ChartClass(self, this, chartData); + let chart = new self.ChartClass(self, this, chartData); self.vis.activeEvents().forEach(function (event) { self.enable(event, chart); @@ -135,7 +135,7 @@ export default function HandlerBaseClass(Private) { function chartEventProxyToggle(method) { return function (event, chart) { - var proxyHandler = this.getProxyHandler(event); + let proxyHandler = this.getProxyHandler(event); _.each(chart ? [chart] : this.charts, function (chart) { chart.events[method](event, proxyHandler); @@ -166,7 +166,7 @@ export default function HandlerBaseClass(Private) { Handler.prototype.error = function (message) { this.removeAll(this.el); - var div = d3.select(this.el) + let div = d3.select(this.el) .append('div') // class name needs `chart` in it for the polling checkSize function // to continuously call render on resize diff --git a/src/ui/public/vislib/lib/handler/handler_types.js b/src/ui/public/vislib/lib/handler/handler_types.js index 75ca170f17a64..3034bef76e5cc 100644 --- a/src/ui/public/vislib/lib/handler/handler_types.js +++ b/src/ui/public/vislib/lib/handler/handler_types.js @@ -3,7 +3,7 @@ import VislibLibHandlerTypesPieProvider from 'ui/vislib/lib/handler/types/pie'; import VislibLibHandlerTypesTileMapProvider from 'ui/vislib/lib/handler/types/tile_map'; export default function HandlerTypeFactory(Private) { - var pointSeries = Private(VislibLibHandlerTypesPointSeriesProvider); + let pointSeries = Private(VislibLibHandlerTypesPointSeriesProvider); /** * Handles the building of each visualization diff --git a/src/ui/public/vislib/lib/handler/types/pie.js b/src/ui/public/vislib/lib/handler/types/pie.js index bfe109ee571d0..c5ff5042855a2 100644 --- a/src/ui/public/vislib/lib/handler/types/pie.js +++ b/src/ui/public/vislib/lib/handler/types/pie.js @@ -3,9 +3,9 @@ import VislibLibDataProvider from 'ui/vislib/lib/data'; import VislibLibChartTitleProvider from 'ui/vislib/lib/chart_title'; export default function PieHandler(Private) { - var Handler = Private(VislibLibHandlerHandlerProvider); - var Data = Private(VislibLibDataProvider); - var ChartTitle = Private(VislibLibChartTitleProvider); + let Handler = Private(VislibLibHandlerHandlerProvider); + let Data = Private(VislibLibDataProvider); + let ChartTitle = Private(VislibLibChartTitleProvider); /* * Handler for Pie visualizations. diff --git a/src/ui/public/vislib/lib/handler/types/point_series.js b/src/ui/public/vislib/lib/handler/types/point_series.js index 24f77165df7c6..3e1f1d3aa070b 100644 --- a/src/ui/public/vislib/lib/handler/types/point_series.js +++ b/src/ui/public/vislib/lib/handler/types/point_series.js @@ -8,14 +8,14 @@ import VislibLibChartTitleProvider from 'ui/vislib/lib/chart_title'; import VislibLibAlertsProvider from 'ui/vislib/lib/alerts'; export default function ColumnHandler(Private) { - var injectZeros = Private(VislibComponentsZeroInjectionInjectZerosProvider); - var Handler = Private(VislibLibHandlerHandlerProvider); - var Data = Private(VislibLibDataProvider); - var XAxis = Private(VislibLibXAxisProvider); - var YAxis = Private(VislibLibYAxisProvider); - var AxisTitle = Private(VislibLibAxisTitleProvider); - var ChartTitle = Private(VislibLibChartTitleProvider); - var Alerts = Private(VislibLibAlertsProvider); + let injectZeros = Private(VislibComponentsZeroInjectionInjectZerosProvider); + let Handler = Private(VislibLibHandlerHandlerProvider); + let Data = Private(VislibLibDataProvider); + let XAxis = Private(VislibLibXAxisProvider); + let YAxis = Private(VislibLibYAxisProvider); + let AxisTitle = Private(VislibLibAxisTitleProvider); + let ChartTitle = Private(VislibLibChartTitleProvider); + let Alerts = Private(VislibLibAlertsProvider); /* * Create handlers for Area, Column, and Line charts which @@ -25,7 +25,7 @@ export default function ColumnHandler(Private) { opts = opts || {}; return function (vis) { - var isUserDefinedYAxis = vis._attr.setYExtents; + let isUserDefinedYAxis = vis._attr.setYExtents; let data; if (opts.zeroFill) { @@ -78,8 +78,8 @@ export default function ColumnHandler(Private) { test: function (vis, data) { if (!data.shouldBeStacked() || data.maxNumberOfSeries() < 2) return; - var hasPos = data.getYMax(data._getY) > 0; - var hasNeg = data.getYMin(data._getY) < 0; + let hasPos = data.getYMax(data._getY) > 0; + let hasNeg = data.getYMin(data._getY) < 0; return (hasPos && hasNeg); } }, diff --git a/src/ui/public/vislib/lib/handler/types/tile_map.js b/src/ui/public/vislib/lib/handler/types/tile_map.js index 9566d3c152a2b..60609c5349d9b 100644 --- a/src/ui/public/vislib/lib/handler/types/tile_map.js +++ b/src/ui/public/vislib/lib/handler/types/tile_map.js @@ -3,13 +3,13 @@ import VislibLibHandlerHandlerProvider from 'ui/vislib/lib/handler/handler'; import VislibLibDataProvider from 'ui/vislib/lib/data'; export default function MapHandlerProvider(Private) { - var Handler = Private(VislibLibHandlerHandlerProvider); - var Data = Private(VislibLibDataProvider); + let Handler = Private(VislibLibHandlerHandlerProvider); + let Data = Private(VislibLibDataProvider); return function (vis) { - var data = new Data(vis.data, vis._attr, vis.uiState); + let data = new Data(vis.data, vis._attr, vis.uiState); - var MapHandler = new Handler(vis, { + let MapHandler = new Handler(vis, { data: data }); diff --git a/src/ui/public/vislib/lib/layout/layout.js b/src/ui/public/vislib/lib/layout/layout.js index c47812dd21ddc..e0141dc71ce53 100644 --- a/src/ui/public/vislib/lib/layout/layout.js +++ b/src/ui/public/vislib/lib/layout/layout.js @@ -3,7 +3,7 @@ import _ from 'lodash'; import VislibLibLayoutLayoutTypesProvider from 'ui/vislib/lib/layout/layout_types'; export default function LayoutFactory(Private) { - var layoutType = Private(VislibLibLayoutLayoutTypesProvider); + let layoutType = Private(VislibLibLayoutLayoutTypesProvider); /** * Builds the visualization DOM layout @@ -53,7 +53,7 @@ export default function LayoutFactory(Private) { * @returns {*} Creates the visualization layout */ Layout.prototype.createLayout = function (arr) { - var self = this; + let self = this; return _.each(arr, function (obj) { self.layout(obj); @@ -86,7 +86,7 @@ export default function LayoutFactory(Private) { obj.parent = '.' + obj.parent; } - var childEl = this.appendElem(obj.parent, obj.type, obj.class); + let childEl = this.appendElem(obj.parent, obj.type, obj.class); if (obj.datum) { childEl.datum(obj.datum); @@ -97,7 +97,7 @@ export default function LayoutFactory(Private) { } if (obj.children) { - var newParent = childEl[0][0]; + let newParent = childEl[0][0]; _.forEach(obj.children, function (obj) { if (!obj.parent) { diff --git a/src/ui/public/vislib/lib/layout/splits/column_chart/chart_split.js b/src/ui/public/vislib/lib/layout/splits/column_chart/chart_split.js index 31061a919cfc0..80f0b09651b6c 100644 --- a/src/ui/public/vislib/lib/layout/splits/column_chart/chart_split.js +++ b/src/ui/public/vislib/lib/layout/splits/column_chart/chart_split.js @@ -9,7 +9,7 @@ define(function () { */ return function split(selection) { selection.each(function (data) { - var div = d3.select(this) + let div = d3.select(this) .attr('class', function () { if (data.rows) { return 'chart-wrapper-row'; @@ -21,7 +21,7 @@ define(function () { }); let divClass; - var charts = div.selectAll('charts') + let charts = div.selectAll('charts') .append('div') .data(function (d) { if (d.rows) { diff --git a/src/ui/public/vislib/lib/layout/splits/column_chart/chart_title_split.js b/src/ui/public/vislib/lib/layout/splits/column_chart/chart_title_split.js index d81a2ec43b669..a6f1860b5b31c 100644 --- a/src/ui/public/vislib/lib/layout/splits/column_chart/chart_title_split.js +++ b/src/ui/public/vislib/lib/layout/splits/column_chart/chart_title_split.js @@ -13,11 +13,11 @@ define(function () { */ return function (selection) { selection.each(function (data) { - var div = d3.select(this); - var parent = $(this).parents('.vis-wrapper'); + let div = d3.select(this); + let parent = $(this).parents('.vis-wrapper'); if (!data.series) { - var splits = div.selectAll('.chart-title') + let splits = div.selectAll('.chart-title') .data(function (d) { return d.rows ? d.rows : d.columns; }) diff --git a/src/ui/public/vislib/lib/layout/splits/column_chart/x_axis_split.js b/src/ui/public/vislib/lib/layout/splits/column_chart/x_axis_split.js index 226b9056d7140..a827e50ad672e 100644 --- a/src/ui/public/vislib/lib/layout/splits/column_chart/x_axis_split.js +++ b/src/ui/public/vislib/lib/layout/splits/column_chart/x_axis_split.js @@ -10,7 +10,7 @@ define(function () { return function (selection) { selection.each(function () { - var div = d3.select(this); + let div = d3.select(this); div.selectAll('.x-axis-div') .append('div') diff --git a/src/ui/public/vislib/lib/layout/splits/column_chart/y_axis_split.js b/src/ui/public/vislib/lib/layout/splits/column_chart/y_axis_split.js index e2e9139db2be7..797e681075aab 100644 --- a/src/ui/public/vislib/lib/layout/splits/column_chart/y_axis_split.js +++ b/src/ui/public/vislib/lib/layout/splits/column_chart/y_axis_split.js @@ -10,10 +10,10 @@ define(function () { // render and get bounding box width return function (selection, parent, opts) { - var yAxis = opts && opts.yAxis; + let yAxis = opts && opts.yAxis; selection.each(function () { - var div = d3.select(this); + let div = d3.select(this); div.call(setWidth, yAxis); @@ -31,14 +31,14 @@ define(function () { function setWidth(el, yAxis) { if (!yAxis) return; - var padding = 5; - var height = parseInt(el.node().clientHeight, 10); + let padding = 5; + let height = parseInt(el.node().clientHeight, 10); // render svg and get the width of the bounding box - var svg = d3.select('body') + let svg = d3.select('body') .append('svg') .attr('style', 'position:absolute; top:-10000; left:-10000'); - var width = svg.append('g') + let width = svg.append('g') .call(yAxis.getYAxis(height)).node().getBBox().width + padding; svg.remove(); diff --git a/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_split.js b/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_split.js index 21988890a6ade..445a4ffb1e369 100644 --- a/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_split.js +++ b/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_split.js @@ -10,7 +10,7 @@ define(function () { return function split(selection) { selection.each(function (data) { - var div = d3.select(this) + let div = d3.select(this) .attr('class', function () { if (data.rows) { return 'chart-wrapper-row'; @@ -22,7 +22,7 @@ define(function () { }); let divClass; - var charts = div.selectAll('charts') + let charts = div.selectAll('charts') .append('div') .data(function (d) { if (d.rows) { diff --git a/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js b/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js index 5f2c3eef4799f..dd07c5e70180e 100644 --- a/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js +++ b/src/ui/public/vislib/lib/layout/splits/pie_chart/chart_title_split.js @@ -12,7 +12,7 @@ define(function () { return function (selection, parent) { selection.each(function (data) { - var div = d3.select(this); + let div = d3.select(this); if (!data.slices) { div.selectAll('.chart-title') diff --git a/src/ui/public/vislib/lib/layout/splits/tile_map/map_split.js b/src/ui/public/vislib/lib/layout/splits/tile_map/map_split.js index 6accb5f596bb3..7e8116968b246 100644 --- a/src/ui/public/vislib/lib/layout/splits/tile_map/map_split.js +++ b/src/ui/public/vislib/lib/layout/splits/tile_map/map_split.js @@ -9,7 +9,7 @@ define(function () { */ return function split(selection) { selection.each(function (data) { - var div = d3.select(this) + let div = d3.select(this) .attr('class', function () { // Determine the parent class if (data.rows) { @@ -22,7 +22,7 @@ define(function () { }); let divClass; - var charts = div.selectAll('charts') + let charts = div.selectAll('charts') .append('div') .data(function (d) { // Determine the child class diff --git a/src/ui/public/vislib/lib/layout/types/column_layout.js b/src/ui/public/vislib/lib/layout/types/column_layout.js index fd123df2ba067..04062740841f2 100644 --- a/src/ui/public/vislib/lib/layout/types/column_layout.js +++ b/src/ui/public/vislib/lib/layout/types/column_layout.js @@ -5,10 +5,10 @@ import VislibLibLayoutSplitsColumnChartXAxisSplitProvider from 'ui/vislib/lib/la import VislibLibLayoutSplitsColumnChartChartTitleSplitProvider from 'ui/vislib/lib/layout/splits/column_chart/chart_title_split'; export default function ColumnLayoutFactory(Private) { - var chartSplit = Private(VislibLibLayoutSplitsColumnChartChartSplitProvider); - var yAxisSplit = Private(VislibLibLayoutSplitsColumnChartYAxisSplitProvider); - var xAxisSplit = Private(VislibLibLayoutSplitsColumnChartXAxisSplitProvider); - var chartTitleSplit = Private(VislibLibLayoutSplitsColumnChartChartTitleSplitProvider); + let chartSplit = Private(VislibLibLayoutSplitsColumnChartChartSplitProvider); + let yAxisSplit = Private(VislibLibLayoutSplitsColumnChartYAxisSplitProvider); + let xAxisSplit = Private(VislibLibLayoutSplitsColumnChartXAxisSplitProvider); + let chartTitleSplit = Private(VislibLibLayoutSplitsColumnChartChartTitleSplitProvider); /** * Specifies the visualization layout for column charts. diff --git a/src/ui/public/vislib/lib/layout/types/map_layout.js b/src/ui/public/vislib/lib/layout/types/map_layout.js index 7e9f5dffe715c..c6f9e1e3bbc00 100644 --- a/src/ui/public/vislib/lib/layout/types/map_layout.js +++ b/src/ui/public/vislib/lib/layout/types/map_layout.js @@ -1,7 +1,7 @@ import d3 from 'd3'; import VislibLibLayoutSplitsTileMapMapSplitProvider from 'ui/vislib/lib/layout/splits/tile_map/map_split'; export default function ColumnLayoutFactory(Private) { - var mapSplit = Private(VislibLibLayoutSplitsTileMapMapSplitProvider); + let mapSplit = Private(VislibLibLayoutSplitsTileMapMapSplitProvider); /* * Specifies the visualization layout for tile maps. diff --git a/src/ui/public/vislib/lib/layout/types/pie_layout.js b/src/ui/public/vislib/lib/layout/types/pie_layout.js index 7424c9e82694f..cb0266ec1f922 100644 --- a/src/ui/public/vislib/lib/layout/types/pie_layout.js +++ b/src/ui/public/vislib/lib/layout/types/pie_layout.js @@ -2,8 +2,8 @@ import d3 from 'd3'; import VislibLibLayoutSplitsPieChartChartSplitProvider from 'ui/vislib/lib/layout/splits/pie_chart/chart_split'; import VislibLibLayoutSplitsPieChartChartTitleSplitProvider from 'ui/vislib/lib/layout/splits/pie_chart/chart_title_split'; export default function ColumnLayoutFactory(Private) { - var chartSplit = Private(VislibLibLayoutSplitsPieChartChartSplitProvider); - var chartTitleSplit = Private(VislibLibLayoutSplitsPieChartChartTitleSplitProvider); + let chartSplit = Private(VislibLibLayoutSplitsPieChartChartSplitProvider); + let chartTitleSplit = Private(VislibLibLayoutSplitsPieChartChartTitleSplitProvider); /** * Specifies the visualization layout for column charts. diff --git a/src/ui/public/vislib/lib/resize_checker.js b/src/ui/public/vislib/lib/resize_checker.js index 16cadf21ff732..fcd7e0d78948b 100644 --- a/src/ui/public/vislib/lib/resize_checker.js +++ b/src/ui/public/vislib/lib/resize_checker.js @@ -5,10 +5,10 @@ import EventsProvider from 'ui/events'; import ReflowWatcherProvider from 'ui/reflow_watcher'; export default function ResizeCheckerFactory(Private, Notifier, $rootScope) { - var EventEmitter = Private(EventsProvider); - var reflowWatcher = Private(ReflowWatcherProvider); + let EventEmitter = Private(EventsProvider); + let reflowWatcher = Private(ReflowWatcherProvider); - var SCHEDULE = ResizeChecker.SCHEDULE = sequencer.createEaseIn( + let SCHEDULE = ResizeChecker.SCHEDULE = sequencer.createEaseIn( 100, // shortest delay 10000, // longest delay 50 // tick count @@ -16,7 +16,7 @@ export default function ResizeCheckerFactory(Private, Notifier, $rootScope) { // maximum ms that we can delay emitting 'resize'. This is only used // to debounce resizes when the size of the element is constantly changing - var MS_MAX_RESIZE_DELAY = ResizeChecker.MS_MAX_RESIZE_DELAY = 500; + let MS_MAX_RESIZE_DELAY = ResizeChecker.MS_MAX_RESIZE_DELAY = 500; /** * Checks the size of an element on a regular basis. Provides @@ -88,7 +88,7 @@ export default function ResizeCheckerFactory(Private, Notifier, $rootScope) { * @return {boolean} - true if the passed in value matches the saved size */ ResizeChecker.prototype._equalsSavedSize = function (a) { - var b = this._savedSize || {}; + let b = this._savedSize || {}; return a.w === b.w && a.h === b.h; }; @@ -129,12 +129,12 @@ export default function ResizeCheckerFactory(Private, Notifier, $rootScope) { * @return {void} */ ResizeChecker.prototype.check = function () { - var newSize = this.read(); - var dirty = this.saveSize(newSize); - var dirtyChanged = this.saveDirty(dirty); + let newSize = this.read(); + let dirty = this.saveSize(newSize); + let dirtyChanged = this.saveDirty(dirty); - var doneDirty = !dirty && dirtyChanged; - var muchDirty = dirty && (this.lastDirtyChange() - Date.now() > MS_MAX_RESIZE_DELAY); + let doneDirty = !dirty && dirtyChanged; + let muchDirty = dirty && (this.lastDirtyChange() - Date.now() > MS_MAX_RESIZE_DELAY); if (doneDirty || muchDirty) { this.emit('resize', newSize); } @@ -175,10 +175,10 @@ export default function ResizeCheckerFactory(Private, Notifier, $rootScope) { this._tick += 1; } - var check = this.check; // already bound - var tick = this._tick; - var notify = this.notify; - var ms = this._currentSchedule[this._tick]; + let check = this.check; // already bound + let tick = this._tick; + let notify = this.notify; + let ms = this._currentSchedule[this._tick]; return (this._timerId = setTimeout(function () { check(); }, ms)); diff --git a/src/ui/public/vislib/lib/x_axis.js b/src/ui/public/vislib/lib/x_axis.js index dc33267225619..8e581969bfab0 100644 --- a/src/ui/public/vislib/lib/x_axis.js +++ b/src/ui/public/vislib/lib/x_axis.js @@ -5,7 +5,7 @@ import moment from 'moment'; import VislibLibErrorHandlerProvider from 'ui/vislib/lib/_error_handler'; export default function XAxisFactory(Private) { - var ErrorHandler = Private(VislibLibErrorHandlerProvider); + let ErrorHandler = Private(VislibLibErrorHandlerProvider); /** * Adds an x axis to the visualization @@ -47,7 +47,7 @@ export default function XAxisFactory(Private) { * @returns {*} D3 scale function */ XAxis.prototype.getScale = function () { - var ordered = this.ordered; + let ordered = this.ordered; if (ordered && ordered.date) { return d3.time.scale.utc(); @@ -65,7 +65,7 @@ export default function XAxisFactory(Private) { * @returns {*} D3 scale function */ XAxis.prototype.getDomain = function (scale) { - var ordered = this.ordered; + let ordered = this.ordered; if (ordered && ordered.date) { return this.getTimeDomain(scale, this.xValues); @@ -99,10 +99,10 @@ export default function XAxisFactory(Private) { * @param extent */ XAxis.prototype._calculateExtent = function (data, extent) { - var ordered = this.ordered; - var opts = [ordered[extent]]; + let ordered = this.ordered; + let opts = [ordered[extent]]; - var point = d3[extent](data); + let point = d3[extent](data); if (this.expandLastBucket && extent === 'max') { point = this.addInterval(point); } @@ -146,17 +146,17 @@ export default function XAxisFactory(Private) { * @returns {number} - x + n intervals */ XAxis.prototype.modByInterval = function (x, n) { - var ordered = this.ordered; + let ordered = this.ordered; if (!ordered) return x; - var interval = ordered.interval; + let interval = ordered.interval; if (!interval) return x; if (!ordered.date) { return x += (ordered.interval * n); } - var y = moment(x); - var method = n > 0 ? 'add' : 'subtract'; + let y = moment(x); + let method = n > 0 ? 'add' : 'subtract'; _.times(Math.abs(n), function () { y[method](interval); @@ -187,7 +187,7 @@ export default function XAxisFactory(Private) { * @returns {*} D3 scale function */ XAxis.prototype.getRange = function (domain, width) { - var ordered = this.ordered; + let ordered = this.ordered; if (ordered && ordered.date) { return domain.range([0, width]); @@ -203,7 +203,7 @@ export default function XAxisFactory(Private) { * @returns {*} D3 x scale function */ XAxis.prototype.getXScale = function (width) { - var domain = this.getDomain(this.getScale()); + let domain = this.getDomain(this.getScale()); return this.getRange(domain, width); }; @@ -235,7 +235,7 @@ export default function XAxisFactory(Private) { * @returns {Function} Renders the x axis to a D3 selection */ XAxis.prototype.draw = function () { - var self = this; + let self = this; let div; let width; let height; @@ -283,8 +283,8 @@ export default function XAxisFactory(Private) { * @returns {Function} Filters or rotates x axis tick labels */ XAxis.prototype.filterOrRotate = function () { - var self = this; - var ordered = self.ordered; + let self = this; + let ordered = self.ordered; let axis; let labels; @@ -312,13 +312,13 @@ export default function XAxisFactory(Private) { * @returns {Function} Rotates x axis tick labels of a D3 selection */ XAxis.prototype.rotateAxisLabels = function () { - var self = this; + let self = this; let text; - var barWidth = self.xScale.rangeBand(); - var maxRotatedLength = 180; - var xAxisPadding = 15; + let barWidth = self.xScale.rangeBand(); + let maxRotatedLength = 180; + let xAxisPadding = 15; let svg; - var lengths = []; + let lengths = []; let length; self._attr.isRotated = false; @@ -367,13 +367,13 @@ export default function XAxisFactory(Private) { * @returns {*|jQuery} */ XAxis.prototype.truncateLabel = function (text, size) { - var node = d3.select(text).node(); - var str = $(node).text(); - var width = node.getBBox().width; - var chars = str.length; - var pxPerChar = width / chars; - var endChar = 0; - var ellipsesPad = 4; + let node = d3.select(text).node(); + let str = $(node).text(); + let width = node.getBBox().width; + let chars = str.length; + let pxPerChar = width / chars; + let endChar = 0; + let ellipsesPad = 4; if (width > size) { endChar = Math.floor((size / pxPerChar) - ellipsesPad); @@ -396,14 +396,14 @@ export default function XAxisFactory(Private) { * @returns {Function} */ XAxis.prototype.filterAxisLabels = function () { - var self = this; - var startX = 0; + let self = this; + let startX = 0; let maxW; let par; let myX; let myWidth; let halfWidth; - var padding = 1.1; + let padding = 1.1; return function (selection) { selection.selectAll('.tick text') @@ -435,7 +435,7 @@ export default function XAxisFactory(Private) { * @returns {Function} */ XAxis.prototype.fitTitles = function () { - var visEls = $('.vis-wrapper'); + let visEls = $('.vis-wrapper'); let xAxisChartTitle; let yAxisChartTitle; let text; @@ -444,12 +444,12 @@ export default function XAxisFactory(Private) { return function () { visEls.each(function () { - var visEl = d3.select(this); - var $visEl = $(this); - var xAxisTitle = $visEl.find('.x-axis-title'); - var yAxisTitle = $visEl.find('.y-axis-title'); - var titleWidth = xAxisTitle.width(); - var titleHeight = yAxisTitle.height(); + let visEl = d3.select(this); + let $visEl = $(this); + let xAxisTitle = $visEl.find('.x-axis-title'); + let yAxisTitle = $visEl.find('.y-axis-title'); + let titleWidth = xAxisTitle.width(); + let titleHeight = yAxisTitle.height(); text = visEl.select('.x-axis-title') .select('svg') @@ -503,17 +503,17 @@ export default function XAxisFactory(Private) { * @method updateXaxisHeight */ XAxis.prototype.updateXaxisHeight = function () { - var selection = d3.select(this.el).selectAll('.vis-wrapper'); + let selection = d3.select(this.el).selectAll('.vis-wrapper'); selection.each(function () { - var visEl = d3.select(this); + let visEl = d3.select(this); if (visEl.select('.inner-spacer-block').node() === null) { visEl.select('.y-axis-spacer-block') .append('div') .attr('class', 'inner-spacer-block'); } - var xAxisHt = visEl.select('.x-axis-wrapper').style('height'); + let xAxisHt = visEl.select('.x-axis-wrapper').style('height'); visEl.select('.inner-spacer-block').style('height', xAxisHt); }); diff --git a/src/ui/public/vislib/lib/y_axis.js b/src/ui/public/vislib/lib/y_axis.js index 5ebfba4d52f1f..a81b9b7e7fe20 100644 --- a/src/ui/public/vislib/lib/y_axis.js +++ b/src/ui/public/vislib/lib/y_axis.js @@ -5,7 +5,7 @@ import errors from 'ui/errors'; import VislibLibErrorHandlerProvider from 'ui/vislib/lib/_error_handler'; export default function YAxisFactory(Private) { - var ErrorHandler = Private(VislibLibErrorHandlerProvider); + let ErrorHandler = Private(VislibLibErrorHandlerProvider); /** * Appends y axis to the visualization @@ -46,7 +46,7 @@ export default function YAxisFactory(Private) { }; YAxis.prototype._validateUserExtents = function (domain) { - var self = this; + let self = this; return domain.map(function (val) { val = parseInt(val, 10); @@ -58,8 +58,8 @@ export default function YAxisFactory(Private) { }; YAxis.prototype._getExtents = function (domain) { - var min = domain[0]; - var max = domain[1]; + let min = domain[0]; + let max = domain[1]; if (this._isUserDefined()) return this._validateUserExtents(domain); if (this._isYExtents()) return domain; @@ -113,8 +113,8 @@ export default function YAxisFactory(Private) { * @returns {D3.Scale.QuantitiveScale|*} D3 yScale function */ YAxis.prototype.getYScale = function (height) { - var scale = this._getScaleType(this._attr.scale); - var domain = this._getExtents(this.domain); + let scale = this._getScaleType(this._attr.scale); + let domain = this._getExtents(this.domain); this.yScale = scale .domain(domain) @@ -131,7 +131,7 @@ export default function YAxisFactory(Private) { }; YAxis.prototype.tickFormat = function () { - var isPercentage = this._attr.mode === 'percentage'; + let isPercentage = this._attr.mode === 'percentage'; if (isPercentage) return d3.format('%'); if (this.yAxisFormatter) return this.yAxisFormatter; return d3.format('n'); @@ -149,7 +149,7 @@ export default function YAxisFactory(Private) { * @returns {D3.Svg.Axis|*} D3 yAxis function */ YAxis.prototype.getYAxis = function (height) { - var yScale = this.getYScale(height); + let yScale = this.getYScale(height); this._validateYScale(yScale); // Create the d3 yAxis function @@ -173,7 +173,7 @@ export default function YAxisFactory(Private) { * @returns {number} Number of y axis ticks */ YAxis.prototype.tickScale = function (height) { - var yTickScale = d3.scale.linear() + let yTickScale = d3.scale.linear() .clamp(true) .domain([20, 40, 1000]) .range([0, 3, 11]); @@ -188,29 +188,29 @@ export default function YAxisFactory(Private) { * @returns {Function} Renders y axis to visualization */ YAxis.prototype.draw = function () { - var self = this; - var margin = this._attr.margin; - var mode = this._attr.mode; - var isWiggleOrSilhouette = (mode === 'wiggle' || mode === 'silhouette'); + let self = this; + let margin = this._attr.margin; + let mode = this._attr.mode; + let isWiggleOrSilhouette = (mode === 'wiggle' || mode === 'silhouette'); return function (selection) { selection.each(function () { - var el = this; + let el = this; - var div = d3.select(el); - var width = $(el).parent().width(); - var height = $(el).height(); - var adjustedHeight = height - margin.top - margin.bottom; + let div = d3.select(el); + let width = $(el).parent().width(); + let height = $(el).height(); + let adjustedHeight = height - margin.top - margin.bottom; // Validate whether width and height are not 0 or `NaN` self.validateWidthandHeight(width, adjustedHeight); - var yAxis = self.getYAxis(adjustedHeight); + let yAxis = self.getYAxis(adjustedHeight); // The yAxis should not appear if mode is set to 'wiggle' or 'silhouette' if (!isWiggleOrSilhouette) { // Append svg and y axis - var svg = div.append('svg') + let svg = div.append('svg') .attr('width', width) .attr('height', height); @@ -219,9 +219,9 @@ export default function YAxisFactory(Private) { .attr('transform', 'translate(' + (width - 2) + ',' + margin.top + ')') .call(yAxis); - var container = svg.select('g.y.axis').node(); + let container = svg.select('g.y.axis').node(); if (container) { - var cWidth = Math.max(width, container.getBBox().width); + let cWidth = Math.max(width, container.getBBox().width); svg.attr('width', cWidth); svg.select('g') .attr('transform', 'translate(' + (cWidth - 2) + ',' + margin.top + ')'); diff --git a/src/ui/public/vislib/vis.js b/src/ui/public/vislib/vis.js index 3bbad97139e64..394c56348342d 100644 --- a/src/ui/public/vislib/vis.js +++ b/src/ui/public/vislib/vis.js @@ -10,10 +10,10 @@ import VislibVisualizationsVisTypesProvider from 'ui/vislib/visualizations/vis_t export default function VisFactory(Private) { - var ResizeChecker = Private(VislibLibResizeCheckerProvider); - var Events = Private(EventsProvider); - var handlerTypes = Private(VislibLibHandlerHandlerTypesProvider); - var chartTypes = Private(VislibVisualizationsVisTypesProvider); + let ResizeChecker = Private(VislibLibResizeCheckerProvider); + let Events = Private(EventsProvider); + let handlerTypes = Private(VislibLibHandlerHandlerTypesProvider); + let chartTypes = Private(VislibVisualizationsVisTypesProvider); /** * Creates the visualizations. @@ -49,7 +49,7 @@ export default function VisFactory(Private) { * @param data {Object} Elasticsearch query results */ Vis.prototype.render = function (data, uiState) { - var chartType = this._attr.type; + let chartType = this._attr.type; if (!data) { throw new Error('No valid data!'); @@ -118,7 +118,7 @@ export default function VisFactory(Private) { * @method destroy */ Vis.prototype.destroy = function () { - var selection = d3.select(this.el).select('.vis-wrapper'); + let selection = d3.select(this.el).select('.vis-wrapper'); this.binder.destroy(); this.resizeChecker.destroy(); @@ -160,9 +160,9 @@ export default function VisFactory(Private) { * @returns {*} */ Vis.prototype.on = function (event, listener) { - var first = this.listenerCount(event) === 0; - var ret = Events.prototype.on.call(this, event, listener); - var added = this.listenerCount(event) > 0; + let first = this.listenerCount(event) === 0; + let ret = Events.prototype.on.call(this, event, listener); + let added = this.listenerCount(event) > 0; // if this is the first listener added for the event // enable the event in the handler @@ -179,9 +179,9 @@ export default function VisFactory(Private) { * @returns {*} */ Vis.prototype.off = function (event, listener) { - var last = this.listenerCount(event) === 1; - var ret = Events.prototype.off.call(this, event, listener); - var removed = this.listenerCount(event) === 0; + let last = this.listenerCount(event) === 1; + let ret = Events.prototype.off.call(this, event, listener); + let removed = this.listenerCount(event) === 0; // Once all listeners are removed, disable the events in the handler if (last && removed && this.handler) this.handler.disable(event); diff --git a/src/ui/public/vislib/visualizations/_chart.js b/src/ui/public/vislib/visualizations/_chart.js index 32ed7a247eff6..4286df6b16279 100644 --- a/src/ui/public/vislib/visualizations/_chart.js +++ b/src/ui/public/vislib/visualizations/_chart.js @@ -6,8 +6,8 @@ import VislibLibDispatchProvider from 'ui/vislib/lib/dispatch'; import VislibComponentsTooltipProvider from 'ui/vislib/components/tooltip'; export default function ChartBaseClass(Private) { - var Dispatch = Private(VislibLibDispatchProvider); - var Tooltip = Private(VislibComponentsTooltipProvider); + let Dispatch = Private(VislibLibDispatchProvider); + let Tooltip = Private(VislibComponentsTooltipProvider); /** * The Base Class for all visualizations. @@ -28,11 +28,11 @@ export default function ChartBaseClass(Private) { this.chartData = chartData; this.tooltips = []; - var events = this.events = new Dispatch(handler); + let events = this.events = new Dispatch(handler); if (_.get(this.handler, '_attr.addTooltip')) { - var $el = this.handler.el; - var formatter = this.handler.data.get('tooltipFormatter'); + let $el = this.handler.el; + let formatter = this.handler.data.get('tooltipFormatter'); // Add tooltip this.tooltip = new Tooltip('chart', $el, formatter, events); @@ -50,7 +50,7 @@ export default function ChartBaseClass(Private) { * @returns {HTMLElement} Contains the D3 chart */ Chart.prototype.render = function () { - var selection = d3.select(this.chartEl); + let selection = d3.select(this.chartEl); selection.selectAll('*').remove(); selection.call(this.draw()); @@ -64,7 +64,7 @@ export default function ChartBaseClass(Private) { */ Chart.prototype._addIdentifier = function (selection, labelProp) { labelProp = labelProp || 'label'; - var labels = this.handler.data.labels; + let labels = this.handler.data.labels; function resolveLabel(datum) { if (labels.length === 1) return labels[0]; @@ -73,7 +73,7 @@ export default function ChartBaseClass(Private) { } selection.each(function (datum) { - var label = resolveLabel(datum); + let label = resolveLabel(datum); if (label != null) dataLabel(this, label); }); }; @@ -84,7 +84,7 @@ export default function ChartBaseClass(Private) { * @method destroy */ Chart.prototype.destroy = function () { - var selection = d3.select(this.chartEl); + let selection = d3.select(this.chartEl); this.events.removeAllListeners(); this.tooltips.forEach(function (tooltip) { tooltip.destroy(); diff --git a/src/ui/public/vislib/visualizations/_map.js b/src/ui/public/vislib/visualizations/_map.js index 0d4625fbc016a..3a893c38fd8fe 100644 --- a/src/ui/public/vislib/visualizations/_map.js +++ b/src/ui/public/vislib/visualizations/_map.js @@ -7,11 +7,11 @@ import VislibVisualizationsMarkerTypesGeohashGridProvider from 'ui/vislib/visual import VislibVisualizationsMarkerTypesHeatmapProvider from 'ui/vislib/visualizations/marker_types/heatmap'; export default function MapFactory(Private) { - var defaultMapZoom = 2; - var defaultMapCenter = [15, 5]; - var defaultMarkerType = 'Scaled Circle Markers'; + let defaultMapZoom = 2; + let defaultMapCenter = [15, 5]; + let defaultMarkerType = 'Scaled Circle Markers'; - var mapTiles = { + let mapTiles = { url: 'https://otile{s}-s.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg', options: { attribution: 'Tiles by MapQuest — ' + @@ -21,7 +21,7 @@ export default function MapFactory(Private) { } }; - var markerTypes = { + let markerTypes = { 'Scaled Circle Markers': Private(VislibVisualizationsMarkerTypesScaledCirclesProvider), 'Shaded Circle Markers': Private(VislibVisualizationsMarkerTypesShadedCirclesProvider), 'Shaded Geohash Grid': Private(VislibVisualizationsMarkerTypesGeohashGridProvider), @@ -49,7 +49,7 @@ export default function MapFactory(Private) { this._geoJson = _.get(this._chartData, 'geoJson'); this._attr = params.attr || {}; - var mapOptions = { + let mapOptions = { minZoom: 1, maxZoom: 18, noWrap: true, @@ -64,8 +64,8 @@ export default function MapFactory(Private) { TileMapMap.prototype.addBoundingControl = function () { if (this._boundingControl) return; - var self = this; - var drawOptions = { draw: {} }; + let self = this; + let drawOptions = { draw: {} }; _.each(['polyline', 'polygon', 'circle', 'marker', 'rectangle'], function (drawShape) { if (self._events && !self._events.listenerCount(drawShape)) { @@ -87,11 +87,11 @@ export default function MapFactory(Private) { TileMapMap.prototype.addFitControl = function () { if (this._fitControl) return; - var self = this; - var fitContainer = L.DomUtil.create('div', 'leaflet-control leaflet-bar leaflet-control-fit'); + let self = this; + let fitContainer = L.DomUtil.create('div', 'leaflet-control leaflet-bar leaflet-control-fit'); // Add button to fit container to points - var FitControl = L.Control.extend({ + let FitControl = L.Control.extend({ options: { position: 'topleft' }, @@ -123,7 +123,7 @@ export default function MapFactory(Private) { TileMapMap.prototype.addTitle = function (mapLabel) { if (this._label) return; - var label = this._label = L.control(); + let label = this._label = L.control(); label.onAdd = function () { this._div = L.DomUtil.create('div', 'tilemap-info tilemap-label'); @@ -194,13 +194,13 @@ export default function MapFactory(Private) { * @return {Object} marker layer */ TileMapMap.prototype._createMarkers = function (options) { - var MarkerType = markerTypes[this._markerType]; + let MarkerType = markerTypes[this._markerType]; return new MarkerType(this.map, this._geoJson, options); }; TileMapMap.prototype._attachEvents = function () { - var self = this; - var saturateTiles = self.saturateTiles.bind(self); + let self = this; + let saturateTiles = self.saturateTiles.bind(self); this._tileLayer.on('tileload', saturateTiles); @@ -226,11 +226,11 @@ export default function MapFactory(Private) { }); this.map.on('draw:created', function (e) { - var drawType = e.layerType; + let drawType = e.layerType; if (!self._events || !self._events.listenerCount(drawType)) return; // TODO: Different drawTypes need differ info. Need a switch on the object creation - var bounds = e.layer.getBounds(); + let bounds = e.layer.getBounds(); self._events.emit(drawType, { e: e, diff --git a/src/ui/public/vislib/visualizations/_point_series_chart.js b/src/ui/public/vislib/visualizations/_point_series_chart.js index 449985cbb34e8..00e7be619884b 100644 --- a/src/ui/public/vislib/visualizations/_point_series_chart.js +++ b/src/ui/public/vislib/visualizations/_point_series_chart.js @@ -4,9 +4,9 @@ import VislibVisualizationsChartProvider from 'ui/vislib/visualizations/_chart'; import VislibComponentsTooltipProvider from 'ui/vislib/components/tooltip'; export default function PointSeriesChartProvider(Private) { - var Chart = Private(VislibVisualizationsChartProvider); - var Tooltip = Private(VislibComponentsTooltipProvider); - var touchdownTmpl = _.template(require('ui/vislib/partials/touchdown.tmpl.html')); + let Chart = Private(VislibVisualizationsChartProvider); + let Tooltip = Private(VislibComponentsTooltipProvider); + let touchdownTmpl = _.template(require('ui/vislib/partials/touchdown.tmpl.html')); _.class(PointSeriesChart).inherits(Chart); function PointSeriesChart(handler, chartEl, chartData) { @@ -18,12 +18,12 @@ export default function PointSeriesChartProvider(Private) { } PointSeriesChart.prototype._stackMixedValues = function (stackCount) { - var currentStackOffsets = [0, 0]; - var currentStackIndex = 0; + let currentStackOffsets = [0, 0]; + let currentStackIndex = 0; return function (d, y0, y) { - var firstStack = currentStackIndex % stackCount === 0; - var lastStack = ++currentStackIndex === stackCount; + let firstStack = currentStackIndex % stackCount === 0; + let lastStack = ++currentStackIndex === stackCount; if (firstStack) { currentStackOffsets = [0, 0]; @@ -49,14 +49,14 @@ export default function PointSeriesChartProvider(Private) { * @returns {Array} Stacked data objects with x, y, and y0 values */ PointSeriesChart.prototype.stackData = function (data) { - var self = this; - var isHistogram = (this._attr.type === 'histogram' && this._attr.mode === 'stacked'); - var stack = this._attr.stack; + let self = this; + let isHistogram = (this._attr.type === 'histogram' && this._attr.mode === 'stacked'); + let stack = this._attr.stack; if (isHistogram) stack.out(self._stackMixedValues(data.series.length)); return stack(data.series.map(function (d) { - var label = d.label; + let label = d.label; return d.values.map(function (e, i) { return { _input: e, @@ -85,37 +85,37 @@ export default function PointSeriesChartProvider(Private) { * @returns {D3.Selection} */ PointSeriesChart.prototype.createEndZones = function (svg) { - var self = this; - var xAxis = this.handler.xAxis; - var xScale = xAxis.xScale; - var ordered = xAxis.ordered; - var missingMinMax = !ordered || _.isUndefined(ordered.min) || _.isUndefined(ordered.max); + let self = this; + let xAxis = this.handler.xAxis; + let xScale = xAxis.xScale; + let ordered = xAxis.ordered; + let missingMinMax = !ordered || _.isUndefined(ordered.min) || _.isUndefined(ordered.max); if (missingMinMax || ordered.endzones === false) return; - var attr = this.handler._attr; - var height = attr.height; - var width = attr.width; - var margin = attr.margin; - var color = '#004c99'; + let attr = this.handler._attr; + let height = attr.height; + let width = attr.width; + let margin = attr.margin; + let color = '#004c99'; // we don't want to draw endzones over our min and max values, they // are still a part of the dataset. We want to start the endzones just // outside of them so we will use these values rather than ordered.min/max - var oneUnit = (ordered.units || _.identity)(1); - var beyondMin = ordered.min - oneUnit; - var beyondMax = ordered.max + oneUnit; + let oneUnit = (ordered.units || _.identity)(1); + let beyondMin = ordered.min - oneUnit; + let beyondMax = ordered.max + oneUnit; // points on this axis represent the amount of time they cover, // so draw the endzones at the actual time bounds - var leftEndzone = { + let leftEndzone = { x: 0, w: Math.max(xScale(ordered.min), 0) }; - var rightLastVal = xAxis.expandLastBucket ? ordered.max : Math.min(ordered.max, _.last(xAxis.xValues)); - var rightStart = rightLastVal + oneUnit; - var rightEndzone = { + let rightLastVal = xAxis.expandLastBucket ? ordered.max : Math.min(ordered.max, _.last(xAxis.xValues)); + let rightStart = rightLastVal + oneUnit; + let rightEndzone = { x: xScale(rightStart), w: Math.max(width - xScale(rightStart), 0) }; @@ -137,17 +137,17 @@ export default function PointSeriesChartProvider(Private) { }); function callPlay(event) { - var boundData = event.target.__data__; - var mouseChartXCoord = event.clientX - self.chartEl.getBoundingClientRect().left; - var wholeBucket = boundData && boundData.x != null; + let boundData = event.target.__data__; + let mouseChartXCoord = event.clientX - self.chartEl.getBoundingClientRect().left; + let wholeBucket = boundData && boundData.x != null; // the min and max that the endzones start in - var min = leftEndzone.w; - var max = rightEndzone.x; + let min = leftEndzone.w; + let max = rightEndzone.x; // bounds of the cursor to consider - var xLeft = mouseChartXCoord; - var xRight = mouseChartXCoord; + let xLeft = mouseChartXCoord; + let xRight = mouseChartXCoord; if (wholeBucket) { xLeft = xScale(boundData.x); xRight = xScale(xAxis.addInterval(boundData.x)); @@ -164,7 +164,7 @@ export default function PointSeriesChartProvider(Private) { return touchdownTmpl(callPlay(d3.event)); } - var endzoneTT = new Tooltip('endzones', this.handler.el, textFormatter, null); + let endzoneTT = new Tooltip('endzones', this.handler.el, textFormatter, null); this.tooltips.push(endzoneTT); endzoneTT.order = 0; endzoneTT.showCondition = function inEndzone() { diff --git a/src/ui/public/vislib/visualizations/area_chart.js b/src/ui/public/vislib/visualizations/area_chart.js index 778048faf48c3..4b0d1d1f48835 100644 --- a/src/ui/public/vislib/visualizations/area_chart.js +++ b/src/ui/public/vislib/visualizations/area_chart.js @@ -6,8 +6,8 @@ import VislibVisualizationsPointSeriesChartProvider from 'ui/vislib/visualizatio import VislibVisualizationsTimeMarkerProvider from 'ui/vislib/visualizations/time_marker'; export default function AreaChartFactory(Private) { - var PointSeriesChart = Private(VislibVisualizationsPointSeriesChartProvider); - var TimeMarker = Private(VislibVisualizationsTimeMarkerProvider); + let PointSeriesChart = Private(VislibVisualizationsPointSeriesChartProvider); + let TimeMarker = Private(VislibVisualizationsTimeMarkerProvider); /** * Area chart visualization @@ -33,14 +33,14 @@ export default function AreaChartFactory(Private) { if (this.isOverlapping) { // Default opacity should return to 0.6 on mouseout - var defaultOpacity = 0.6; + let defaultOpacity = 0.6; handler._attr.defaultOpacity = defaultOpacity; handler.highlight = function (element) { - var label = this.getAttribute('data-label'); + let label = this.getAttribute('data-label'); if (!label) return; - var highlightOpacity = 0.8; - var highlightElements = $('[data-label]', element.parentNode).filter( + let highlightOpacity = 0.8; + let highlightElements = $('[data-label]', element.parentNode).filter( function (els, el) { return `${$(el).data('label')}` === label; }); @@ -72,15 +72,15 @@ export default function AreaChartFactory(Private) { * @returns {D3.UpdateSelection} SVG with path added */ AreaChart.prototype.addPath = function (svg, layers) { - var self = this; - var ordered = this.handler.data.get('ordered'); - var isTimeSeries = (ordered && ordered.date); - var isOverlapping = this.isOverlapping; - var color = this.handler.data.getColorFunc(); - var xScale = this.handler.xAxis.xScale; - var yScale = this.handler.yAxis.yScale; - var interpolate = (this._attr.smoothLines) ? 'cardinal' : this._attr.interpolate; - var area = d3.svg.area() + let self = this; + let ordered = this.handler.data.get('ordered'); + let isTimeSeries = (ordered && ordered.date); + let isOverlapping = this.isOverlapping; + let color = this.handler.data.getColorFunc(); + let xScale = this.handler.xAxis.xScale; + let yScale = this.handler.yAxis.yScale; + let interpolate = (this._attr.smoothLines) ? 'cardinal' : this._attr.interpolate; + let area = d3.svg.area() .x(function (d) { if (isTimeSeries) { return xScale(d.x); @@ -105,7 +105,7 @@ export default function AreaChartFactory(Private) { .interpolate(interpolate); // Data layers - var layer = svg.selectAll('.layer') + let layer = svg.selectAll('.layer') .data(layers) .enter() .append('g') @@ -114,7 +114,7 @@ export default function AreaChartFactory(Private) { }); // Append path - var path = layer.append('path') + let path = layer.append('path') .call(this._addIdentifier) .style('fill', function (d) { return color(d[0].label); @@ -139,13 +139,13 @@ export default function AreaChartFactory(Private) { * @returns {D3.Selection} circles with event listeners attached */ AreaChart.prototype.addCircleEvents = function (element, svg) { - var events = this.events; - var isBrushable = events.isBrushable(); - var brush = isBrushable ? events.addBrushEvent(svg) : undefined; - var hover = events.addHoverEvent(); - var mouseout = events.addMouseoutEvent(); - var click = events.addClickEvent(); - var attachedEvents = element.call(hover).call(mouseout).call(click); + let events = this.events; + let isBrushable = events.isBrushable(); + let brush = isBrushable ? events.addBrushEvent(svg) : undefined; + let hover = events.addHoverEvent(); + let mouseout = events.addMouseoutEvent(); + let click = events.addClickEvent(); + let attachedEvents = element.call(hover).call(mouseout).call(click); if (isBrushable) { attachedEvents.call(brush); @@ -163,16 +163,16 @@ export default function AreaChartFactory(Private) { * @returns {D3.UpdateSelection} SVG with circles added */ AreaChart.prototype.addCircles = function (svg, data) { - var self = this; - var color = this.handler.data.getColorFunc(); - var xScale = this.handler.xAxis.xScale; - var yScale = this.handler.yAxis.yScale; - var ordered = this.handler.data.get('ordered'); - var circleRadius = 12; - var circleStrokeWidth = 0; - var tooltip = this.tooltip; - var isTooltip = this._attr.addTooltip; - var isOverlapping = this.isOverlapping; + let self = this; + let color = this.handler.data.getColorFunc(); + let xScale = this.handler.xAxis.xScale; + let yScale = this.handler.yAxis.yScale; + let ordered = this.handler.data.get('ordered'); + let circleRadius = 12; + let circleStrokeWidth = 0; + let tooltip = this.tooltip; + let isTooltip = this._attr.addTooltip; + let isOverlapping = this.isOverlapping; let layer; let circles; @@ -240,9 +240,9 @@ export default function AreaChartFactory(Private) { */ AreaChart.prototype.addClipPath = function (svg, width, height) { // Prevents circles from being clipped at the top of the chart - var startX = 0; - var startY = 0; - var id = 'chart-area' + _.uniqueId(); + let startX = 0; + let startY = 0; + let id = 'chart-area' + _.uniqueId(); // Creating clipPath return svg @@ -257,11 +257,11 @@ export default function AreaChartFactory(Private) { }; AreaChart.prototype.checkIfEnoughData = function () { - var series = this.chartData.series; - var message = 'Area charts require more than one data point. Try adding ' + + let series = this.chartData.series; + let message = 'Area charts require more than one data point. Try adding ' + 'an X-Axis Aggregation'; - var notEnoughData = series.some(function (obj) { + let notEnoughData = series.some(function (obj) { return obj.values.length < 2; }); @@ -271,8 +271,8 @@ export default function AreaChartFactory(Private) { }; AreaChart.prototype.validateWiggleSelection = function () { - var isWiggle = this._attr.mode === 'wiggle'; - var ordered = this.handler.data.get('ordered'); + let isWiggle = this._attr.mode === 'wiggle'; + let ordered = this.handler.data.get('ordered'); if (isWiggle && !ordered) throw new errors.InvalidWiggleSelection(); }; @@ -285,18 +285,18 @@ export default function AreaChartFactory(Private) { */ AreaChart.prototype.draw = function () { // Attributes - var self = this; - var xScale = this.handler.xAxis.xScale; - var $elem = $(this.chartEl); - var margin = this._attr.margin; - var elWidth = this._attr.width = $elem.width(); - var elHeight = this._attr.height = $elem.height(); - var yMin = this.handler.yAxis.yMin; - var yScale = this.handler.yAxis.yScale; - var minWidth = 20; - var minHeight = 20; - var addTimeMarker = this._attr.addTimeMarker; - var times = this._attr.times || []; + let self = this; + let xScale = this.handler.xAxis.xScale; + let $elem = $(this.chartEl); + let margin = this._attr.margin; + let elWidth = this._attr.width = $elem.width(); + let elHeight = this._attr.height = $elem.height(); + let yMin = this.handler.yAxis.yMin; + let yScale = this.handler.yAxis.yScale; + let minWidth = 20; + let minHeight = 20; + let addTimeMarker = this._attr.addTimeMarker; + let times = this._attr.times || []; let timeMarker; let div; let svg; @@ -361,7 +361,7 @@ export default function AreaChartFactory(Private) { self.addCircleEvents(circles, svg); // chart base line - var line = svg.append('line') + let line = svg.append('line') .attr('class', 'base-line') .attr('x1', 0) .attr('y1', yScale(0)) diff --git a/src/ui/public/vislib/visualizations/column_chart.js b/src/ui/public/vislib/visualizations/column_chart.js index 000776c9fa7ee..9b9501c3ae545 100644 --- a/src/ui/public/vislib/visualizations/column_chart.js +++ b/src/ui/public/vislib/visualizations/column_chart.js @@ -8,10 +8,10 @@ import VislibVisualizationsPointSeriesChartProvider from 'ui/vislib/visualizatio import VislibVisualizationsTimeMarkerProvider from 'ui/vislib/visualizations/time_marker'; export default function ColumnChartFactory(Private) { - var DataClass = Private(VislibLibDataProvider); + let DataClass = Private(VislibLibDataProvider); - var PointSeriesChart = Private(VislibVisualizationsPointSeriesChartProvider); - var TimeMarker = Private(VislibVisualizationsTimeMarkerProvider); + let PointSeriesChart = Private(VislibVisualizationsPointSeriesChartProvider); + let TimeMarker = Private(VislibVisualizationsTimeMarkerProvider); /** * Vertical Bar Chart Visualization: renders vertical and/or stacked bars @@ -47,10 +47,10 @@ export default function ColumnChartFactory(Private) { * @returns {D3.UpdateSelection} SVG with rect added */ ColumnChart.prototype.addBars = function (svg, layers) { - var self = this; - var color = this.handler.data.getColorFunc(); - var tooltip = this.tooltip; - var isTooltip = this._attr.addTooltip; + let self = this; + let color = this.handler.data.getColorFunc(); + let tooltip = this.tooltip; + let isTooltip = this._attr.addTooltip; let layer; let bars; @@ -97,7 +97,7 @@ export default function ColumnChartFactory(Private) { * @returns {D3.UpdateSelection} */ ColumnChart.prototype.updateBars = function (bars) { - var offset = this._attr.mode; + let offset = this._attr.mode; if (offset === 'grouped') { return this.addGroupedBars(bars); @@ -113,17 +113,17 @@ export default function ColumnChartFactory(Private) { * @returns {D3.UpdateSelection} */ ColumnChart.prototype.addStackedBars = function (bars) { - var data = this.chartData; - var xScale = this.handler.xAxis.xScale; - var yScale = this.handler.yAxis.yScale; - var height = yScale.range()[0]; - var yMin = this.handler.yAxis.yScale.domain()[0]; - var self = this; + let data = this.chartData; + let xScale = this.handler.xAxis.xScale; + let yScale = this.handler.yAxis.yScale; + let height = yScale.range()[0]; + let yMin = this.handler.yAxis.yScale.domain()[0]; + let self = this; let barWidth; if (data.ordered && data.ordered.date) { - var start = data.ordered.min; - var end = moment(data.ordered.min).add(data.ordered.interval).valueOf(); + let start = data.ordered.min; + let end = moment(data.ordered.min).add(data.ordered.interval).valueOf(); barWidth = xScale(end) - xScale(start); barWidth = barWidth - Math.min(barWidth * 0.25, 15); @@ -176,24 +176,24 @@ export default function ColumnChartFactory(Private) { * @returns {D3.UpdateSelection} */ ColumnChart.prototype.addGroupedBars = function (bars) { - var xScale = this.handler.xAxis.xScale; - var yScale = this.handler.yAxis.yScale; - var yMin = this.handler.yAxis.yMin; - var data = this.chartData; - var n = data.series.length; - var height = yScale.range()[0]; - var groupSpacingPercentage = 0.15; - var isTimeScale = (data.ordered && data.ordered.date); - var minWidth = 1; + let xScale = this.handler.xAxis.xScale; + let yScale = this.handler.yAxis.yScale; + let yMin = this.handler.yAxis.yMin; + let data = this.chartData; + let n = data.series.length; + let height = yScale.range()[0]; + let groupSpacingPercentage = 0.15; + let isTimeScale = (data.ordered && data.ordered.date); + let minWidth = 1; let barWidth; // update bars .attr('x', function (d, i, j) { if (isTimeScale) { - var groupWidth = xScale(data.ordered.min + data.ordered.interval) - + let groupWidth = xScale(data.ordered.min + data.ordered.interval) - xScale(data.ordered.min); - var groupSpacing = groupWidth * groupSpacingPercentage; + let groupSpacing = groupWidth * groupSpacingPercentage; barWidth = (groupWidth - groupSpacing) / n; @@ -236,13 +236,13 @@ export default function ColumnChartFactory(Private) { * @returns {D3.Selection} rect with event listeners attached */ ColumnChart.prototype.addBarEvents = function (element, svg) { - var events = this.events; - var isBrushable = events.isBrushable(); - var brush = isBrushable ? events.addBrushEvent(svg) : undefined; - var hover = events.addHoverEvent(); - var mouseout = events.addMouseoutEvent(); - var click = events.addClickEvent(); - var attachedEvents = element.call(hover).call(mouseout).call(click); + let events = this.events; + let isBrushable = events.isBrushable(); + let brush = isBrushable ? events.addBrushEvent(svg) : undefined; + let hover = events.addHoverEvent(); + let mouseout = events.addMouseoutEvent(); + let click = events.addClickEvent(); + let attachedEvents = element.call(hover).call(mouseout).call(click); if (isBrushable) { attachedEvents.call(brush); @@ -258,18 +258,18 @@ export default function ColumnChartFactory(Private) { * @returns {Function} Creates the vertical bar chart */ ColumnChart.prototype.draw = function () { - var self = this; - var $elem = $(this.chartEl); - var margin = this._attr.margin; - var elWidth = this._attr.width = $elem.width(); - var elHeight = this._attr.height = $elem.height(); - var yMin = this.handler.yAxis.yMin; - var yScale = this.handler.yAxis.yScale; - var xScale = this.handler.xAxis.xScale; - var minWidth = 20; - var minHeight = 20; - var addTimeMarker = this._attr.addTimeMarker; - var times = this._attr.times || []; + let self = this; + let $elem = $(this.chartEl); + let margin = this._attr.margin; + let elWidth = this._attr.width = $elem.width(); + let elHeight = this._attr.height = $elem.height(); + let yMin = this.handler.yAxis.yMin; + let yScale = this.handler.yAxis.yScale; + let xScale = this.handler.xAxis.xScale; + let minWidth = 20; + let minHeight = 20; + let addTimeMarker = this._attr.addTimeMarker; + let times = this._attr.times || []; let timeMarker; let div; let svg; @@ -307,7 +307,7 @@ export default function ColumnChartFactory(Private) { // Adds event listeners self.addBarEvents(bars, svg); - var line = svg.append('line') + let line = svg.append('line') .attr('class', 'base-line') .attr('x1', 0) .attr('y1', yScale(0)) diff --git a/src/ui/public/vislib/visualizations/line_chart.js b/src/ui/public/vislib/visualizations/line_chart.js index c2b88058bbd5f..34443feb0afdb 100644 --- a/src/ui/public/vislib/visualizations/line_chart.js +++ b/src/ui/public/vislib/visualizations/line_chart.js @@ -6,8 +6,8 @@ import VislibVisualizationsPointSeriesChartProvider from 'ui/vislib/visualizatio import VislibVisualizationsTimeMarkerProvider from 'ui/vislib/visualizations/time_marker'; export default function LineChartFactory(Private) { - var PointSeriesChart = Private(VislibVisualizationsPointSeriesChartProvider); - var TimeMarker = Private(VislibVisualizationsTimeMarkerProvider); + let PointSeriesChart = Private(VislibVisualizationsPointSeriesChartProvider); + let TimeMarker = Private(VislibVisualizationsTimeMarkerProvider); /** * Line Chart Visualization @@ -43,13 +43,13 @@ export default function LineChartFactory(Private) { * @returns {D3.Selection} SVG circles with event listeners attached */ LineChart.prototype.addCircleEvents = function (element, svg) { - var events = this.events; - var isBrushable = events.isBrushable(); - var brush = isBrushable ? events.addBrushEvent(svg) : undefined; - var hover = events.addHoverEvent(); - var mouseout = events.addMouseoutEvent(); - var click = events.addClickEvent(); - var attachedEvents = element.call(hover).call(mouseout).call(click); + let events = this.events; + let isBrushable = events.isBrushable(); + let brush = isBrushable ? events.addBrushEvent(svg) : undefined; + let hover = events.addHoverEvent(); + let mouseout = events.addMouseoutEvent(); + let click = events.addClickEvent(); + let attachedEvents = element.call(hover).call(mouseout).call(click); if (isBrushable) { attachedEvents.call(brush); @@ -67,16 +67,16 @@ export default function LineChartFactory(Private) { * @returns {D3.UpdateSelection} SVG with circles added */ LineChart.prototype.addCircles = function (svg, data) { - var self = this; - var showCircles = this._attr.showCircles; - var color = this.handler.data.getColorFunc(); - var xScale = this.handler.xAxis.xScale; - var yScale = this.handler.yAxis.yScale; - var ordered = this.handler.data.get('ordered'); - var tooltip = this.tooltip; - var isTooltip = this._attr.addTooltip; - - var radii = _(data) + let self = this; + let showCircles = this._attr.showCircles; + let color = this.handler.data.getColorFunc(); + let xScale = this.handler.xAxis.xScale; + let yScale = this.handler.yAxis.yScale; + let ordered = this.handler.data.get('ordered'); + let tooltip = this.tooltip; + let isTooltip = this._attr.addTooltip; + + let radii = _(data) .map(function (series) { return _.pluck(series, '_input.z'); }) @@ -90,15 +90,15 @@ export default function LineChartFactory(Private) { max: -Infinity }); - var radiusStep = ((radii.max - radii.min) || (radii.max * 100)) / Math.pow(this._attr.radiusRatio, 2); + let radiusStep = ((radii.max - radii.min) || (radii.max * 100)) / Math.pow(this._attr.radiusRatio, 2); - var layer = svg.selectAll('.points') + let layer = svg.selectAll('.points') .data(data) .enter() .append('g') .attr('class', 'points line'); - var circles = layer + let circles = layer .selectAll('circle') .data(function appendData(data) { return data.filter(function (d) { @@ -126,9 +126,9 @@ export default function LineChartFactory(Private) { } function colorCircle(d) { - var parent = d3.select(this).node().parentNode; - var lengthOfParent = d3.select(parent).data()[0].length; - var isVisible = (lengthOfParent === 1); + let parent = d3.select(this).node().parentNode; + let lengthOfParent = d3.select(parent).data()[0].length; + let isVisible = (lengthOfParent === 1); // If only 1 point exists, show circle if (!showCircles && !isVisible) return 'none'; @@ -136,10 +136,10 @@ export default function LineChartFactory(Private) { } function getCircleRadiusFn(modifier) { return function getCircleRadius(d) { - var margin = self._attr.margin; - var width = self._attr.width - margin.left - margin.right; - var height = self._attr.height - margin.top - margin.bottom; - var circleRadius = (d._input.z - radii.min) / radiusStep; + let margin = self._attr.margin; + let width = self._attr.width - margin.left - margin.right; + let height = self._attr.height - margin.top - margin.bottom; + let circleRadius = (d._input.z - radii.min) / radiusStep; return _.min([Math.sqrt((circleRadius || 2) + 2), width, height]) + (modifier || 0); }; @@ -185,14 +185,14 @@ export default function LineChartFactory(Private) { * @returns {D3.UpdateSelection} SVG with paths added */ LineChart.prototype.addLines = function (svg, data) { - var self = this; - var xScale = this.handler.xAxis.xScale; - var yScale = this.handler.yAxis.yScale; - var xAxisFormatter = this.handler.data.get('xAxisFormatter'); - var color = this.handler.data.getColorFunc(); - var ordered = this.handler.data.get('ordered'); - var interpolate = (this._attr.smoothLines) ? 'cardinal' : this._attr.interpolate; - var line = d3.svg.line() + let self = this; + let xScale = this.handler.xAxis.xScale; + let yScale = this.handler.yAxis.yScale; + let xAxisFormatter = this.handler.data.get('xAxisFormatter'); + let color = this.handler.data.getColorFunc(); + let ordered = this.handler.data.get('ordered'); + let interpolate = (this._attr.smoothLines) ? 'cardinal' : this._attr.interpolate; + let line = d3.svg.line() .defined(function (d) { return !_.isNull(d.y); }) .interpolate(interpolate) .x(function x(d) { @@ -237,10 +237,10 @@ export default function LineChartFactory(Private) { * @returns {D3.UpdateSelection} SVG with clipPath added */ LineChart.prototype.addClipPath = function (svg, width, height) { - var clipPathBuffer = 5; - var startX = 0; - var startY = 0 - clipPathBuffer; - var id = 'chart-area' + _.uniqueId(); + let clipPathBuffer = 5; + let startX = 0; + let startY = 0 - clipPathBuffer; + let id = 'chart-area' + _.uniqueId(); return svg .attr('clip-path', 'url(#' + id + ')') @@ -262,21 +262,21 @@ export default function LineChartFactory(Private) { * @returns {Function} Creates the line chart */ LineChart.prototype.draw = function () { - var self = this; - var $elem = $(this.chartEl); - var margin = this._attr.margin; - var elWidth = this._attr.width = $elem.width(); - var elHeight = this._attr.height = $elem.height(); - var scaleType = this.handler.yAxis.getScaleType(); - var yMin = this.handler.yAxis.yMin; - var yScale = this.handler.yAxis.yScale; - var xScale = this.handler.xAxis.xScale; - var minWidth = 20; - var minHeight = 20; - var startLineX = 0; - var lineStrokeWidth = 1; - var addTimeMarker = this._attr.addTimeMarker; - var times = this._attr.times || []; + let self = this; + let $elem = $(this.chartEl); + let margin = this._attr.margin; + let elWidth = this._attr.width = $elem.width(); + let elHeight = this._attr.height = $elem.height(); + let scaleType = this.handler.yAxis.getScaleType(); + let yMin = this.handler.yAxis.yMin; + let yScale = this.handler.yAxis.yScale; + let xScale = this.handler.xAxis.xScale; + let minWidth = 20; + let minHeight = 20; + let startLineX = 0; + let lineStrokeWidth = 1; + let addTimeMarker = this._attr.addTimeMarker; + let times = this._attr.times || []; let timeMarker; let div; let svg; @@ -287,10 +287,10 @@ export default function LineChartFactory(Private) { return function (selection) { selection.each(function (data) { - var el = this; + let el = this; - var layers = data.series.map(function mapSeries(d) { - var label = d.label; + let layers = data.series.map(function mapSeries(d) { + let label = d.label; return d.values.map(function mapValues(e, i) { return { _input: e, @@ -332,7 +332,7 @@ export default function LineChartFactory(Private) { self.addCircleEvents(circles, svg); self.createEndZones(svg); - var scale = (scaleType === 'log') ? yScale(1) : yScale(0); + let scale = (scaleType === 'log') ? yScale(1) : yScale(0); if (scale) { svg.append('line') .attr('class', 'base-line') diff --git a/src/ui/public/vislib/visualizations/marker_types/base_marker.js b/src/ui/public/vislib/visualizations/marker_types/base_marker.js index 3c6c5e6049dd2..9164e2eb94d00 100644 --- a/src/ui/public/vislib/visualizations/marker_types/base_marker.js +++ b/src/ui/public/vislib/visualizations/marker_types/base_marker.js @@ -35,7 +35,7 @@ export default function MarkerFactory() { // ensure we only ever create 1 legend if (this._legend) return; - var self = this; + let self = this; // create the legend control, keep a reference self._legend = L.control({position: 'bottomright'}); @@ -43,17 +43,17 @@ export default function MarkerFactory() { self._legend.onAdd = function () { // creates all the neccessary DOM elements for the control, adds listeners // on relevant map events, and returns the element containing the control - var $div = $('
').addClass('tilemap-legend'); + let $div = $('
').addClass('tilemap-legend'); _.each(self._legendColors, function (color, i) { - var labelText = self._legendQuantizer + let labelText = self._legendQuantizer .invertExtent(color) .map(self._valueFormatter) .join(' – '); - var label = $('
').text(labelText); + let label = $('
').text(labelText); - var icon = $('').css({ + let icon = $('').css({ background: color, 'border-color': self.darkerColor(color) }); @@ -76,7 +76,7 @@ export default function MarkerFactory() { * @return {Object} */ BaseMarker.prototype.applyShadingStyle = function (value) { - var color = this._legendQuantizer(value); + let color = this._legendQuantizer(value); return { fillColor: color, @@ -96,11 +96,11 @@ export default function MarkerFactory() { * return {undefined} */ BaseMarker.prototype.bindPopup = function (feature, layer) { - var self = this; + let self = this; - var popup = layer.on({ + let popup = layer.on({ mouseover: function (e) { - var layer = e.target; + let layer = e.target; // bring layer to front if not older browser if (!L.Browser.ie && !L.Browser.opera) { layer.bringToFront(); @@ -130,7 +130,7 @@ export default function MarkerFactory() { }; BaseMarker.prototype.destroy = function () { - var self = this; + let self = this; // remove popups self.popups = self.popups.filter(function (popup) { @@ -160,13 +160,13 @@ export default function MarkerFactory() { * @param options {Object} Options to pass to L.geoJson */ BaseMarker.prototype._createMarkerGroup = function (options) { - var self = this; - var defaultOptions = { + let self = this; + let defaultOptions = { onEachFeature: function (feature, layer) { self.bindPopup(feature, layer); }, style: function (feature) { - var value = _.get(feature, 'properties.value'); + let value = _.get(feature, 'properties.value'); return self.applyShadingStyle(value); }, filter: self._filterToMapBounds() @@ -184,10 +184,10 @@ export default function MarkerFactory() { * @return {boolean} */ BaseMarker.prototype._filterToMapBounds = function () { - var self = this; + let self = this; return function (feature) { - var mapBounds = self.map.getBounds(); - var bucketRectBounds = _.get(feature, 'properties.rectangle'); + let mapBounds = self.map.getBounds(); + let bucketRectBounds = _.get(feature, 'properties.rectangle'); return mapBounds.intersects(bucketRectBounds); }; }; @@ -203,11 +203,11 @@ export default function MarkerFactory() { */ BaseMarker.prototype._showTooltip = function (feature, latLng) { if (!this.map) return; - var lat = _.get(feature, 'geometry.coordinates.1'); - var lng = _.get(feature, 'geometry.coordinates.0'); + let lat = _.get(feature, 'geometry.coordinates.1'); + let lng = _.get(feature, 'geometry.coordinates.0'); latLng = latLng || L.latLng(lat, lng); - var content = this._tooltipFormatter(feature); + let content = this._tooltipFormatter(feature); if (!content) return; this._createTooltip(content, latLng); @@ -239,15 +239,15 @@ export default function MarkerFactory() { * return {undefined} */ BaseMarker.prototype.quantizeLegendColors = function () { - var min = _.get(this.geoJson, 'properties.allmin', 0); - var max = _.get(this.geoJson, 'properties.allmax', 1); - var quantizeDomain = (min !== max) ? [min, max] : d3.scale.quantize().domain(); - - var reds1 = ['#ff6128']; - var reds3 = ['#fecc5c', '#fd8d3c', '#e31a1c']; - var reds5 = ['#fed976', '#feb24c', '#fd8d3c', '#f03b20', '#bd0026']; - var bottomCutoff = 2; - var middleCutoff = 24; + let min = _.get(this.geoJson, 'properties.allmin', 0); + let max = _.get(this.geoJson, 'properties.allmax', 1); + let quantizeDomain = (min !== max) ? [min, max] : d3.scale.quantize().domain(); + + let reds1 = ['#ff6128']; + let reds3 = ['#fecc5c', '#fd8d3c', '#e31a1c']; + let reds5 = ['#fed976', '#feb24c', '#fd8d3c', '#f03b20', '#bd0026']; + let bottomCutoff = 2; + let middleCutoff = 24; if (max - min <= bottomCutoff) { this._legendColors = reds1; diff --git a/src/ui/public/vislib/visualizations/marker_types/geohash_grid.js b/src/ui/public/vislib/visualizations/marker_types/geohash_grid.js index 91626222bf1b4..2dd57ec9fc035 100644 --- a/src/ui/public/vislib/visualizations/marker_types/geohash_grid.js +++ b/src/ui/public/vislib/visualizations/marker_types/geohash_grid.js @@ -3,7 +3,7 @@ import L from 'leaflet'; import VislibVisualizationsMarkerTypesBaseMarkerProvider from 'ui/vislib/visualizations/marker_types/base_marker'; export default function GeohashGridMarkerFactory(Private) { - var BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); + let BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); /** * Map overlay: rectangles that show the geohash grid bounds @@ -14,19 +14,19 @@ export default function GeohashGridMarkerFactory(Private) { */ _.class(GeohashGridMarker).inherits(BaseMarker); function GeohashGridMarker(map, geoJson, params) { - var self = this; + let self = this; GeohashGridMarker.Super.apply(this, arguments); // super min and max from all chart data - var min = this.geoJson.properties.allmin; - var max = this.geoJson.properties.allmax; + let min = this.geoJson.properties.allmin; + let max = this.geoJson.properties.allmax; this._createMarkerGroup({ pointToLayer: function (feature, latlng) { - var geohashRect = feature.properties.rectangle; + let geohashRect = feature.properties.rectangle; // get bounds from northEast[3] and southWest[1] // corners in geohash rectangle - var corners = [ + let corners = [ [geohashRect[3][0], geohashRect[3][1]], [geohashRect[1][0], geohashRect[1][1]] ]; diff --git a/src/ui/public/vislib/visualizations/marker_types/heatmap.js b/src/ui/public/vislib/visualizations/marker_types/heatmap.js index 575169cb627c2..a066295c4eb29 100644 --- a/src/ui/public/vislib/visualizations/marker_types/heatmap.js +++ b/src/ui/public/vislib/visualizations/marker_types/heatmap.js @@ -4,7 +4,7 @@ import L from 'leaflet'; import VislibVisualizationsMarkerTypesBaseMarkerProvider from 'ui/vislib/visualizations/marker_types/base_marker'; export default function HeatmapMarkerFactory(Private) { - var BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); + let BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); /** * Map overlay: canvas layer with leaflet.heat plugin @@ -15,7 +15,7 @@ export default function HeatmapMarkerFactory(Private) { */ _.class(HeatmapMarker).inherits(BaseMarker); function HeatmapMarker(map, geoJson, params) { - var self = this; + let self = this; this._disableTooltips = false; HeatmapMarker.Super.apply(this, arguments); @@ -36,8 +36,8 @@ export default function HeatmapMarkerFactory(Private) { HeatmapMarker.prototype.addLegend = _.noop; HeatmapMarker.prototype._createMarkerGroup = function (options) { - var max = _.get(this.geoJson, 'properties.allmax'); - var points = this._dataToHeatArray(max); + let max = _.get(this.geoJson, 'properties.allmax'); + let points = this._dataToHeatArray(max); this._markerGroup = L.heatLayer(points, options); this._fixTooltips(); @@ -45,8 +45,8 @@ export default function HeatmapMarkerFactory(Private) { }; HeatmapMarker.prototype._fixTooltips = function () { - var self = this; - var debouncedMouseMoveLocation = _.debounce(mouseMoveLocation.bind(this), 15, { + let self = this; + let debouncedMouseMoveLocation = _.debounce(mouseMoveLocation.bind(this), 15, { 'leading': true, 'trailing': false }); @@ -66,7 +66,7 @@ export default function HeatmapMarkerFactory(Private) { } function mouseMoveLocation(e) { - var latlng = e.latlng; + let latlng = e.latlng; this.map.closePopup(); @@ -78,7 +78,7 @@ export default function HeatmapMarkerFactory(Private) { } // find nearest feature to event latlng - var feature = this._nearestFeature(latlng); + let feature = this._nearestFeature(latlng); // show tooltip if close enough to event latlng if (this._tooltipProximity(latlng, feature)) { @@ -112,7 +112,7 @@ export default function HeatmapMarkerFactory(Private) { * @return nearestPoint {Leaflet latLng} */ HeatmapMarker.prototype._nearestFeature = function (latLng) { - var self = this; + let self = this; let nearest; if (latLng.lng < -180 || latLng.lng > 180) { @@ -120,8 +120,8 @@ export default function HeatmapMarkerFactory(Private) { } _.reduce(this.geoJson.features, function (distance, feature) { - var featureLatLng = self._getLatLng(feature); - var dist = latLng.distanceTo(featureLatLng); + let featureLatLng = self._getLatLng(feature); + let dist = latLng.distanceTo(featureLatLng); if (dist < distance) { nearest = feature; @@ -145,31 +145,31 @@ export default function HeatmapMarkerFactory(Private) { HeatmapMarker.prototype._tooltipProximity = function (latlng, feature) { if (!feature) return; - var showTip = false; - var featureLatLng = this._getLatLng(feature); + let showTip = false; + let featureLatLng = this._getLatLng(feature); // zoomScale takes map zoom and returns proximity value for tooltip display // domain (input values) is map zoom (min 1 and max 18) // range (output values) is distance in meters // used to compare proximity of event latlng to feature latlng - var zoomScale = d3.scale.linear() + let zoomScale = d3.scale.linear() .domain([1, 4, 7, 10, 13, 16, 18]) .range([1000000, 300000, 100000, 15000, 2000, 150, 50]); - var proximity = zoomScale(this.map.getZoom()); - var distance = latlng.distanceTo(featureLatLng); + let proximity = zoomScale(this.map.getZoom()); + let distance = latlng.distanceTo(featureLatLng); // maxLngDif is max difference in longitudes // to prevent feature tooltip from appearing 360° // away from event latlng - var maxLngDif = 40; - var lngDif = Math.abs(latlng.lng - featureLatLng.lng); + let maxLngDif = 40; + let lngDif = Math.abs(latlng.lng - featureLatLng.lng); if (distance < proximity && lngDif < maxLngDif) { showTip = true; } - var testScale = d3.scale.pow().exponent(0.2) + let testScale = d3.scale.pow().exponent(0.2) .domain([1, 18]) .range([1500000, 50]); return showTip; @@ -186,12 +186,12 @@ export default function HeatmapMarkerFactory(Private) { * @return {Array} */ HeatmapMarker.prototype._dataToHeatArray = function (max) { - var self = this; - var mapData = this.geoJson; + let self = this; + let mapData = this.geoJson; return this.geoJson.features.map(function (feature) { - var lat = feature.properties.center[0]; - var lng = feature.properties.center[1]; + let lat = feature.properties.center[0]; + let lng = feature.properties.center[1]; let heatIntensity; if (!self._attr.heatNormalizeData) { diff --git a/src/ui/public/vislib/visualizations/marker_types/scaled_circles.js b/src/ui/public/vislib/visualizations/marker_types/scaled_circles.js index 0ce7b9a443ee5..8a0c84841dc7b 100644 --- a/src/ui/public/vislib/visualizations/marker_types/scaled_circles.js +++ b/src/ui/public/vislib/visualizations/marker_types/scaled_circles.js @@ -3,7 +3,7 @@ import L from 'leaflet'; import VislibVisualizationsMarkerTypesBaseMarkerProvider from 'ui/vislib/visualizations/marker_types/base_marker'; export default function ScaledCircleMarkerFactory(Private) { - var BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); + let BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); /** * Map overlay: circle markers that are scaled to illustrate values @@ -14,16 +14,16 @@ export default function ScaledCircleMarkerFactory(Private) { */ _.class(ScaledCircleMarker).inherits(BaseMarker); function ScaledCircleMarker(map, geoJson, params) { - var self = this; + let self = this; ScaledCircleMarker.Super.apply(this, arguments); // multiplier to reduce size of all circles - var scaleFactor = 0.6; + let scaleFactor = 0.6; this._createMarkerGroup({ pointToLayer: function (feature, latlng) { - var value = feature.properties.value; - var scaledRadius = self._radiusScale(value) * scaleFactor; + let value = feature.properties.value; + let scaledRadius = self._radiusScale(value) * scaleFactor; return L.circleMarker(latlng).setRadius(scaledRadius); } }); @@ -38,17 +38,17 @@ export default function ScaledCircleMarkerFactory(Private) { * @return {Number} */ ScaledCircleMarker.prototype._radiusScale = function (value) { - var precisionBiasBase = 5; - var precisionBiasNumerator = 200; - var zoom = this.map.getZoom(); - var maxValue = this.geoJson.properties.allmax; - var precision = _.max(this.geoJson.features.map(function (feature) { + let precisionBiasBase = 5; + let precisionBiasNumerator = 200; + let zoom = this.map.getZoom(); + let maxValue = this.geoJson.properties.allmax; + let precision = _.max(this.geoJson.features.map(function (feature) { return String(feature.properties.geohash).length; })); - var pct = Math.abs(value) / Math.abs(maxValue); - var zoomRadius = 0.5 * Math.pow(2, zoom); - var precisionScale = precisionBiasNumerator / Math.pow(precisionBiasBase, precision); + let pct = Math.abs(value) / Math.abs(maxValue); + let zoomRadius = 0.5 * Math.pow(2, zoom); + let precisionScale = precisionBiasNumerator / Math.pow(precisionBiasBase, precision); // square root value percentage return Math.pow(pct, 0.5) * zoomRadius * precisionScale; diff --git a/src/ui/public/vislib/visualizations/marker_types/shaded_circles.js b/src/ui/public/vislib/visualizations/marker_types/shaded_circles.js index eb2e8d4e9fc3e..c873f2f9c1613 100644 --- a/src/ui/public/vislib/visualizations/marker_types/shaded_circles.js +++ b/src/ui/public/vislib/visualizations/marker_types/shaded_circles.js @@ -3,7 +3,7 @@ import L from 'leaflet'; import VislibVisualizationsMarkerTypesBaseMarkerProvider from 'ui/vislib/visualizations/marker_types/base_marker'; export default function ShadedCircleMarkerFactory(Private) { - var BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); + let BaseMarker = Private(VislibVisualizationsMarkerTypesBaseMarkerProvider); /** * Map overlay: circle markers that are shaded to illustrate values @@ -14,19 +14,19 @@ export default function ShadedCircleMarkerFactory(Private) { */ _.class(ShadedCircleMarker).inherits(BaseMarker); function ShadedCircleMarker(map, geoJson, params) { - var self = this; + let self = this; ShadedCircleMarker.Super.apply(this, arguments); // super min and max from all chart data - var min = this.geoJson.properties.allmin; - var max = this.geoJson.properties.allmax; + let min = this.geoJson.properties.allmin; + let max = this.geoJson.properties.allmax; // multiplier to reduce size of all circles - var scaleFactor = 0.8; + let scaleFactor = 0.8; this._createMarkerGroup({ pointToLayer: function (feature, latlng) { - var radius = self._geohashMinDistance(feature) * scaleFactor; + let radius = self._geohashMinDistance(feature) * scaleFactor; return L.circle(latlng, radius); } }); @@ -41,8 +41,8 @@ export default function ShadedCircleMarkerFactory(Private) { * @return {Number} */ ShadedCircleMarker.prototype._geohashMinDistance = function (feature) { - var centerPoint = _.get(feature, 'properties.center'); - var geohashRect = _.get(feature, 'properties.rectangle'); + let centerPoint = _.get(feature, 'properties.center'); + let geohashRect = _.get(feature, 'properties.rectangle'); // centerPoint is an array of [lat, lng] // geohashRect is the 4 corners of the geoHash rectangle @@ -50,16 +50,16 @@ export default function ShadedCircleMarkerFactory(Private) { // clockwise, each value being an array of [lat, lng] // center lat and southeast lng - var east = L.latLng([centerPoint[0], geohashRect[2][1]]); + let east = L.latLng([centerPoint[0], geohashRect[2][1]]); // southwest lat and center lng - var north = L.latLng([geohashRect[3][0], centerPoint[1]]); + let north = L.latLng([geohashRect[3][0], centerPoint[1]]); // get latLng of geohash center point - var center = L.latLng([centerPoint[0], centerPoint[1]]); + let center = L.latLng([centerPoint[0], centerPoint[1]]); // get smallest radius at center of geohash grid rectangle - var eastRadius = Math.floor(center.distanceTo(east)); - var northRadius = Math.floor(center.distanceTo(north)); + let eastRadius = Math.floor(center.distanceTo(east)); + let northRadius = Math.floor(center.distanceTo(north)); return _.min([eastRadius, northRadius]); }; diff --git a/src/ui/public/vislib/visualizations/pie_chart.js b/src/ui/public/vislib/visualizations/pie_chart.js index 111ccb0d63c09..b18c0820942c1 100644 --- a/src/ui/public/vislib/visualizations/pie_chart.js +++ b/src/ui/public/vislib/visualizations/pie_chart.js @@ -5,7 +5,7 @@ import errors from 'ui/errors'; import VislibVisualizationsChartProvider from 'ui/vislib/visualizations/_chart'; export default function PieChartFactory(Private) { - var Chart = Private(VislibVisualizationsChartProvider); + let Chart = Private(VislibVisualizationsChartProvider); /** * Pie Chart Visualization @@ -24,7 +24,7 @@ export default function PieChartFactory(Private) { } PieChart.Super.apply(this, arguments); - var charts = this.handler.data.getVisData(); + let charts = this.handler.data.getVisData(); this._validatePieData(charts); this._attr = _.defaults(handler._attr || {}, { @@ -37,7 +37,7 @@ export default function PieChartFactory(Private) { * If so, an error is thrown. */ PieChart.prototype._validatePieData = function (charts) { - var isAllZeros = charts.every(function (chart) { + let isAllZeros = charts.every(function (chart) { return chart.slices.children.length === 0; }); @@ -52,7 +52,7 @@ export default function PieChartFactory(Private) { * @returns {D3.Selection} SVG path with event listeners attached */ PieChart.prototype.addPathEvents = function (element) { - var events = this.events; + let events = this.events; return element .call(events.addHoverEvent()) @@ -64,11 +64,11 @@ export default function PieChartFactory(Private) { (function assignPercentages(slices) { if (slices.sumOfChildren != null) return; - var parent = slices; - var children = parent.children; - var parentPercent = parent.percentOfParent; + let parent = slices; + let children = parent.children; + let parentPercent = parent.percentOfParent; - var sum = parent.sumOfChildren = Math.abs(children.reduce(function (sum, child) { + let sum = parent.sumOfChildren = Math.abs(children.reduce(function (sum, child) { return sum + Math.abs(child.size); }, 0)); @@ -98,24 +98,24 @@ export default function PieChartFactory(Private) { * @returns {D3.Selection} SVG with paths attached */ PieChart.prototype.addPath = function (width, height, svg, slices) { - var self = this; - var marginFactor = 0.95; - var isDonut = self._attr.isDonut; - var radius = (Math.min(width, height) / 2) * marginFactor; - var color = self.handler.data.getPieColorFunc(); - var tooltip = self.tooltip; - var isTooltip = self._attr.addTooltip; - - var partition = d3.layout.partition() + let self = this; + let marginFactor = 0.95; + let isDonut = self._attr.isDonut; + let radius = (Math.min(width, height) / 2) * marginFactor; + let color = self.handler.data.getPieColorFunc(); + let tooltip = self.tooltip; + let isTooltip = self._attr.addTooltip; + + let partition = d3.layout.partition() .sort(null) .value(function (d) { return d.percentOfParent * 100; }); - var x = d3.scale.linear() + let x = d3.scale.linear() .range([0, 2 * Math.PI]); - var y = d3.scale.sqrt() + let y = d3.scale.sqrt() .range([0, radius]); - var arc = d3.svg.arc() + let arc = d3.svg.arc() .startAngle(function (d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x))); }) @@ -135,7 +135,7 @@ export default function PieChartFactory(Private) { return Math.max(0, y(d.y + d.dy)); }); - var path = svg + let path = svg .datum(slices) .selectAll('path') .data(partition.nodes) @@ -161,8 +161,8 @@ export default function PieChartFactory(Private) { }; PieChart.prototype._validateContainerSize = function (width, height) { - var minWidth = 20; - var minHeight = 20; + let minWidth = 20; + let minHeight = 20; if (width <= minWidth || height <= minHeight) { throw new errors.ContainerTooSmall(); @@ -176,14 +176,14 @@ export default function PieChartFactory(Private) { * @returns {Function} Creates the pie chart */ PieChart.prototype.draw = function () { - var self = this; + let self = this; return function (selection) { selection.each(function (data) { - var slices = data.slices; - var div = d3.select(this); - var width = $(this).width(); - var height = $(this).height(); + let slices = data.slices; + let div = d3.select(this); + let width = $(this).width(); + let height = $(this).height(); let path; if (!slices.children.length) return; @@ -191,7 +191,7 @@ export default function PieChartFactory(Private) { self.convertToPercentage(slices); self._validateContainerSize(width, height); - var svg = div.append('svg') + let svg = div.append('svg') .attr('width', width) .attr('height', height) .append('g') diff --git a/src/ui/public/vislib/visualizations/tile_map.js b/src/ui/public/vislib/visualizations/tile_map.js index db0d324d68695..9d19d927b82e3 100644 --- a/src/ui/public/vislib/visualizations/tile_map.js +++ b/src/ui/public/vislib/visualizations/tile_map.js @@ -5,8 +5,8 @@ import VislibVisualizationsChartProvider from 'ui/vislib/visualizations/_chart'; import VislibVisualizationsMapProvider from 'ui/vislib/visualizations/_map'; export default function TileMapFactory(Private) { - var Chart = Private(VislibVisualizationsChartProvider); - var TileMapMap = Private(VislibVisualizationsMapProvider); + let Chart = Private(VislibVisualizationsChartProvider); + let TileMapMap = Private(VislibVisualizationsMapProvider); /** * Tile Map Visualization: renders maps @@ -41,7 +41,7 @@ export default function TileMapFactory(Private) { * @return {Function} - function to add a map to a selection */ TileMap.prototype.draw = function () { - var self = this; + let self = this; // clean up old maps self.destroy(); @@ -86,7 +86,7 @@ export default function TileMapFactory(Private) { */ TileMap.prototype._appendGeoExtents = function () { // add allmin and allmax to geoJson - var geoMinMax = this.handler.data.getGeoExtents(); + let geoMinMax = this.handler.data.getGeoExtents(); this.geoJson.properties.allmin = geoMinMax.min; this.geoJson.properties.allmax = geoMinMax.max; }; @@ -98,9 +98,9 @@ export default function TileMapFactory(Private) { * @param selection {Object} d3 selection */ TileMap.prototype._appendMap = function (selection) { - var container = $(selection).addClass('tilemap'); + let container = $(selection).addClass('tilemap'); - var map = new TileMapMap(container, this._chartData, { + let map = new TileMapMap(container, this._chartData, { // center: this._attr.mapCenter, // zoom: this._attr.mapZoom, events: this.events, diff --git a/src/ui/public/vislib/visualizations/time_marker.js b/src/ui/public/vislib/visualizations/time_marker.js index 01d57f44978ec..aaa0ee9a8d7c8 100644 --- a/src/ui/public/vislib/visualizations/time_marker.js +++ b/src/ui/public/vislib/visualizations/time_marker.js @@ -7,7 +7,7 @@ export default function TimeMarkerFactory() { return new TimeMarker(times, xScale, height); } - var currentTimeArr = [{ + let currentTimeArr = [{ 'time': new Date().getTime(), 'class': 'time-marker', 'color': '#c80000', @@ -29,14 +29,14 @@ export default function TimeMarkerFactory() { } TimeMarker.prototype._isTimeBasedChart = function (selection) { - var data = selection.data(); + let data = selection.data(); return data.every(function (datum) { return (datum.ordered && datum.ordered.date); }); }; TimeMarker.prototype.render = function (selection) { - var self = this; + let self = this; // return if not time based chart if (!self._isTimeBasedChart(selection)) return;