diff --git a/public/app/plugins/datasource/influxdb/influx_series.d.ts b/public/app/plugins/datasource/influxdb/influx_series.d.ts deleted file mode 100644 index c3318b8e133..00000000000 --- a/public/app/plugins/datasource/influxdb/influx_series.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare var test: any; -export default test; diff --git a/public/app/plugins/datasource/influxdb/influx_series.js b/public/app/plugins/datasource/influxdb/influx_series.ts similarity index 75% rename from public/app/plugins/datasource/influxdb/influx_series.js rename to public/app/plugins/datasource/influxdb/influx_series.ts index 6d35b020075..e17e83026e7 100644 --- a/public/app/plugins/datasource/influxdb/influx_series.js +++ b/public/app/plugins/datasource/influxdb/influx_series.ts @@ -1,28 +1,27 @@ -define([ - 'lodash', - 'app/core/table_model', -], -function (_, TableModel) { - 'use strict'; +import _ from 'lodash'; +import TableModel from 'app/core/table_model'; - function InfluxSeries(options) { +export default class InfluxSeries { + + series: any; + alias: any; + annotation: any; + + constructor(options) { this.series = options.series; this.alias = options.alias; this.annotation = options.annotation; } - var p = InfluxSeries.prototype; - - p.getTimeSeries = function() { + getTimeSeries() { var output = []; - var self = this; var i, j; - if (self.series.length === 0) { + if (this.series.length === 0) { return output; } - _.each(self.series, function(series) { + _.each(this.series, (series) => { var columns = series.columns.length; var tags = _.map(series.tags, function(value, key) { return key + ': ' + value; @@ -35,8 +34,8 @@ function (_, TableModel) { seriesName = seriesName + '.' + columnName; } - if (self.alias) { - seriesName = self._getSeriesName(series, j); + if (this.alias) { + seriesName = this._getSeriesName(series, j); } else if (series.tags) { seriesName = seriesName + ' {' + tags.join(', ') + '}'; } @@ -53,9 +52,9 @@ function (_, TableModel) { }); return output; - }; + } - p._getSeriesName = function(series, index) { + _getSeriesName(series, index) { var regex = /\$(\w+)|\[\[([\s\S]+?)\]\]/g; var segments = series.name.split('.'); @@ -72,30 +71,29 @@ function (_, TableModel) { if (!series.tags) { return match; } return series.tags[tag]; }); - }; + } - p.getAnnotations = function () { + getAnnotations() { var list = []; - var self = this; - _.each(this.series, function (series) { + _.each(this.series, (series) => { var titleCol = null; var timeCol = null; var tagsCol = []; var textCol = null; - _.each(series.columns, function(column, index) { + _.each(series.columns, (column, index) => { if (column === 'time') { timeCol = index; return; } if (column === 'sequence_number') { return; } if (!titleCol) { titleCol = index; } - if (column === self.annotation.titleColumn) { titleCol = index; return; } - if (_.includes((self.annotation.tagsColumn || '').replace(' ', '').split(","), column)) { tagsCol.push(index); return; } - if (column === self.annotation.textColumn) { textCol = index; return; } + if (column === this.annotation.titleColumn) { titleCol = index; return; } + if (_.includes((this.annotation.tagsColumn || '').replace(' ', '').split(","), column)) { tagsCol.push(index); return; } + if (column === this.annotation.textColumn) { textCol = index; return; } }); - _.each(series.values, function (value) { + _.each(series.values, (value) => { var data = { - annotation: self.annotation, + annotation: this.annotation, time: + new Date(value[timeCol]), title: value[titleCol], // Remove empty values, then split in different tags for comma separated values @@ -108,18 +106,17 @@ function (_, TableModel) { }); return list; - }; + } - p.getTable = function() { - var table = new TableModel.default(); - var self = this; + getTable() { + var table = new TableModel(); var i, j; - if (self.series.length === 0) { + if (this.series.length === 0) { return table; } - _.each(self.series, function(series, seriesIndex) { + _.each(this.series, (series, seriesIndex) => { if (seriesIndex === 0) { table.columns.push({text: 'Time', type: 'time'}); @@ -151,7 +148,11 @@ function (_, TableModel) { }); return table; - }; + } +} + + + + + - return InfluxSeries; -}); diff --git a/public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts b/public/app/plugins/datasource/influxdb/specs/influx_series.jest.ts similarity index 66% rename from public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts rename to public/app/plugins/datasource/influxdb/specs/influx_series.jest.ts index ef0a742528f..99bfac107e7 100644 --- a/public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts +++ b/public/app/plugins/datasource/influxdb/specs/influx_series.jest.ts @@ -1,4 +1,3 @@ -import {describe, it, expect} from 'test/lib/common'; import InfluxSeries from '../influx_series'; describe('when generating timeseries from influxdb response', function() { @@ -19,24 +18,24 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result.length).to.be(3); - expect(result[0].target).to.be('cpu.mean {app: test, server: server1}'); - expect(result[0].datapoints[0][0]).to.be(10); - expect(result[0].datapoints[0][1]).to.be(1431946625000); - expect(result[0].datapoints[1][0]).to.be(20); - expect(result[0].datapoints[1][1]).to.be(1431946626000); + expect(result.length).toBe(3); + expect(result[0].target).toBe('cpu.mean {app: test, server: server1}'); + expect(result[0].datapoints[0][0]).toBe(10); + expect(result[0].datapoints[0][1]).toBe(1431946625000); + expect(result[0].datapoints[1][0]).toBe(20); + expect(result[0].datapoints[1][1]).toBe(1431946626000); - expect(result[1].target).to.be('cpu.max {app: test, server: server1}'); - expect(result[1].datapoints[0][0]).to.be(11); - expect(result[1].datapoints[0][1]).to.be(1431946625000); - expect(result[1].datapoints[1][0]).to.be(21); - expect(result[1].datapoints[1][1]).to.be(1431946626000); + expect(result[1].target).toBe('cpu.max {app: test, server: server1}'); + expect(result[1].datapoints[0][0]).toBe(11); + expect(result[1].datapoints[0][1]).toBe(1431946625000); + expect(result[1].datapoints[1][0]).toBe(21); + expect(result[1].datapoints[1][1]).toBe(1431946626000); - expect(result[2].target).to.be('cpu.min {app: test, server: server1}'); - expect(result[2].datapoints[0][0]).to.be(9); - expect(result[2].datapoints[0][1]).to.be(1431946625000); - expect(result[2].datapoints[1][0]).to.be(19); - expect(result[2].datapoints[1][1]).to.be(1431946626000); + expect(result[2].target).toBe('cpu.min {app: test, server: server1}'); + expect(result[2].datapoints[0][0]).toBe(9); + expect(result[2].datapoints[0][1]).toBe(1431946625000); + expect(result[2].datapoints[1][0]).toBe(19); + expect(result[2].datapoints[1][1]).toBe(1431946626000); }); }); @@ -47,9 +46,9 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result[0].target).to.be('new series'); - expect(result[1].target).to.be('new series'); - expect(result[2].target).to.be('new series'); + expect(result[0].target).toBe('new series'); + expect(result[1].target).toBe('new series'); + expect(result[2].target).toBe('new series'); }); }); @@ -60,9 +59,9 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result[0].target).to.be('alias: cpu -> server1 (cpu)'); - expect(result[1].target).to.be('alias: cpu -> server1 (cpu)'); - expect(result[2].target).to.be('alias: cpu -> server1 (cpu)'); + expect(result[0].target).toBe('alias: cpu -> server1 (cpu)'); + expect(result[1].target).toBe('alias: cpu -> server1 (cpu)'); + expect(result[2].target).toBe('alias: cpu -> server1 (cpu)'); }); }); @@ -90,8 +89,8 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result[0].target).to.be('cpu {app: test, server: server1}'); - expect(result[1].target).to.be('cpu {app: test2, server: server2}'); + expect(result[0].target).toBe('cpu {app: test, server: server1}'); + expect(result[1].target).toBe('cpu {app: test2, server: server2}'); }); }); @@ -122,18 +121,18 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result.length).to.be(2); - expect(result[0].target).to.be('cpu.mean {app: test, server: server1}'); - expect(result[0].datapoints[0][0]).to.be(10); - expect(result[0].datapoints[0][1]).to.be(1431946625000); - expect(result[0].datapoints[1][0]).to.be(12); - expect(result[0].datapoints[1][1]).to.be(1431946626000); + expect(result.length).toBe(2); + expect(result[0].target).toBe('cpu.mean {app: test, server: server1}'); + expect(result[0].datapoints[0][0]).toBe(10); + expect(result[0].datapoints[0][1]).toBe(1431946625000); + expect(result[0].datapoints[1][0]).toBe(12); + expect(result[0].datapoints[1][1]).toBe(1431946626000); - expect(result[1].target).to.be('cpu.mean {app: test2, server: server2}'); - expect(result[1].datapoints[0][0]).to.be(15); - expect(result[1].datapoints[0][1]).to.be(1431946625000); - expect(result[1].datapoints[1][0]).to.be(16); - expect(result[1].datapoints[1][1]).to.be(1431946626000); + expect(result[1].target).toBe('cpu.mean {app: test2, server: server2}'); + expect(result[1].datapoints[0][0]).toBe(15); + expect(result[1].datapoints[0][1]).toBe(1431946625000); + expect(result[1].datapoints[1][0]).toBe(16); + expect(result[1].datapoints[1][1]).toBe(1431946626000); }); }); @@ -143,7 +142,7 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result[0].target).to.be('new series'); + expect(result[0].target).toBe('new series'); }); }); @@ -154,8 +153,8 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result[0].target).to.be('alias: cpu -> server1 (cpu)'); - expect(result[1].target).to.be('alias: cpu -> server2 (cpu)'); + expect(result[0].target).toBe('alias: cpu -> server1 (cpu)'); + expect(result[1].target).toBe('alias: cpu -> server2 (cpu)'); }); }); @@ -180,7 +179,7 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var result = series.getTimeSeries(); - expect(result[0].target).to.be('alias: prod -> count'); + expect(result[0].target).toBe('alias: prod -> count'); }); }); @@ -201,9 +200,9 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var table = series.getTable(); - expect(table.type).to.be('table'); - expect(table.columns.length).to.be(5); - expect(table.rows[0]).to.eql([1431946625000, 'Africa', 'server2', 23, 10]); + expect(table.type).toBe('table'); + expect(table.columns.length).toBe(5); + expect(table.rows[0]).toEqual([1431946625000, 'Africa', 'server2', 23, 10]); }); }); @@ -228,7 +227,7 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var annotations = series.getAnnotations(); - expect(annotations[0].tags.length).to.be(0); + expect(annotations[0].tags.length).toBe(0); }); }); @@ -254,9 +253,9 @@ describe('when generating timeseries from influxdb response', function() { var series = new InfluxSeries(options); var annotations = series.getAnnotations(); - expect(annotations[0].tags.length).to.be(2); - expect(annotations[0].tags[0]).to.be('America'); - expect(annotations[0].tags[1]).to.be('backend'); + expect(annotations[0].tags.length).toBe(2); + expect(annotations[0].tags[0]).toBe('America'); + expect(annotations[0].tags[1]).toBe('backend'); }); }); });