From bd1f82df760c20e6d684a1c2d7fbf46e7f69c8f5 Mon Sep 17 00:00:00 2001 From: Chris Cowan Date: Mon, 6 Apr 2020 08:15:43 -0700 Subject: [PATCH] Change units to scale; change free text to combobox --- .../public/components/aggs/growth_rate.js | 49 ++++++++++++++++--- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/src/legacy/core_plugins/vis_type_timeseries/public/components/aggs/growth_rate.js b/src/legacy/core_plugins/vis_type_timeseries/public/components/aggs/growth_rate.js index bad0a3065c4391..c9bc88fd828e23 100644 --- a/src/legacy/core_plugins/vis_type_timeseries/public/components/aggs/growth_rate.js +++ b/src/legacy/core_plugins/vis_type_timeseries/public/components/aggs/growth_rate.js @@ -24,34 +24,64 @@ import { FieldSelect } from './field_select'; import { AggRow } from './agg_row'; import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; -import { createTextHandler } from '../lib/create_text_handler'; import { htmlIdGenerator, EuiFlexGroup, EuiFlexItem, EuiFormLabel, - EuiFieldText, EuiFormRow, EuiSpacer, EuiText, EuiLink, + EuiComboBox, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; +import { i18n } from '@kbn/i18n'; import { KBN_FIELD_TYPES } from '../../../../../../plugins/data/public'; +const UNIT_OPTIONS = [ + { + label: i18n.translate('visTypeTimeseries.units.auto', { defaultMessage: 'auto' }), + value: '', + }, + { + label: i18n.translate('visTypeTimeseries.units.perSecond', { + defaultMessage: 'per millisecond', + }), + value: '1ms', + }, + { + label: i18n.translate('visTypeTimeseries.units.perSecond', { defaultMessage: 'per second' }), + value: '1s', + }, + { + label: i18n.translate('visTypeTimeseries.units.perMinute', { defaultMessage: 'per minute' }), + value: '1m', + }, + { + label: i18n.translate('visTypeTimeseries.units.perHour', { defaultMessage: 'per hour' }), + value: '1h', + }, + { + label: i18n.translate('visTypeTimeseries.units.perDay', { defaultMessage: 'per day' }), + value: '1d', + }, +]; + export const GrowthRateAgg = props => { const defaults = { unit: '' }; const model = { ...defaults, ...props.model }; const handleChange = createChangeHandler(props.onChange, model); const handleSelectChange = createSelectHandler(handleChange); - const handleTextChange = createTextHandler(handleChange); const htmlId = htmlIdGenerator(); const indexPattern = (props.series.override_index_pattern && props.series.series_index_pattern) || props.panel.index_pattern; + const selectedUnitOptions = UNIT_OPTIONS.filter(o => o.value === model.unit); + return ( { label={ } fullWidth > - +