From 267ab822c2650f19f86e1c46460bf027cec98ef7 Mon Sep 17 00:00:00 2001 From: bergquist Date: Mon, 18 Apr 2016 18:46:50 +0200 Subject: [PATCH] tech(influxdb): uses hashmap for uniqueness --- .../datasource/influxdb/response_parser.ts | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/public/app/plugins/datasource/influxdb/response_parser.ts b/public/app/plugins/datasource/influxdb/response_parser.ts index ec0b1a4c249..cb1efea6b33 100644 --- a/public/app/plugins/datasource/influxdb/response_parser.ts +++ b/public/app/plugins/datasource/influxdb/response_parser.ts @@ -12,27 +12,29 @@ export default class ResponseParser { return []; } - var res = []; - _.each(influxResults.series, (serie) => { - _.each(serie.values, (value) => { + var newInfluxdbFormat = query.toLowerCase().indexOf('show tag values') >= 0; + + var res = {}; + _.each(influxResults.series, serie => { + _.each(serie.values, value => { if (_.isArray(value)) { - if (query.toLowerCase().indexOf('show tag values') >= 0) { - addUnique(res, { text: (value[1] || value[0])}); + if (newInfluxdbFormat) { + addUnique(res, value[1] || value[0]); } else { - addUnique(res, { text: value[0]}); + addUnique(res, value[0]); } } else { - addUnique(res, {text: value}); + addUnique(res, value); } }); }); - return res; + return _.map(res, value => { + return { text: value}; + }); } } function addUnique(arr, value) { - if (!_.any(arr, value)) { - arr.push(value); - } + arr[value] = value; }