From 7e56514c5acd57978d653598becf9d9288f4ef80 Mon Sep 17 00:00:00 2001 From: ryan Date: Tue, 19 Mar 2019 21:19:58 -0700 Subject: [PATCH] add more functions and tests --- .../components/StatsPicker/StatsPicker.tsx | 26 +++- .../src/utils/statsCalculator.test.ts | 22 ++- .../grafana-ui/src/utils/statsCalculator.ts | 138 +++++++++++++----- 3 files changed, 139 insertions(+), 47 deletions(-) diff --git a/packages/grafana-ui/src/components/StatsPicker/StatsPicker.tsx b/packages/grafana-ui/src/components/StatsPicker/StatsPicker.tsx index 649b98a370a..22ba5423b30 100644 --- a/packages/grafana-ui/src/components/StatsPicker/StatsPicker.tsx +++ b/packages/grafana-ui/src/components/StatsPicker/StatsPicker.tsx @@ -36,10 +36,10 @@ export class StatsPicker extends PureComponent { const current = getStatsCalculators(stats); if (current.length !== stats.length) { - const found = current.map(v => v.value); + const found = current.map(v => v.id); const notFound = difference(stats, found); console.warn('Unknown stats', notFound, stats); - onChange(current.map(stat => stat.value)); + onChange(current.map(stat => stat.id)); } // Make sure there is only one @@ -65,15 +65,31 @@ export class StatsPicker extends PureComponent { render() { const { width, stats, allowMultiple, defaultStat, placeholder } = this.props; - const current = getStatsCalculators(stats); + const options = getStatsCalculators().map(s => { + return { + value: s.id, + label: s.name, + desctipiton: s.description, + }; + }); + + const value: SelectOptionItem[] = []; + stats.forEach(s => { + const o = options.find(v => v.value === s); + if (o) { + value.push(o); + } + }); + + //getStatsCalculators(stats); return (