From eee06b07bbbf343b812f14f750d5afff765b8a43 Mon Sep 17 00:00:00 2001 From: Christopher Henn Date: Tue, 19 Jun 2018 16:09:13 -0700 Subject: [PATCH] Hydrate MetaQueryTemplateBuilder correctly --- .../components/MetaQueryTemplateBuilder.tsx | 22 ++++++++++--------- ui/src/types/tempVars.ts | 1 + 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/ui/src/tempVars/components/MetaQueryTemplateBuilder.tsx b/ui/src/tempVars/components/MetaQueryTemplateBuilder.tsx index b78d64b5fd..c21472bd58 100644 --- a/ui/src/tempVars/components/MetaQueryTemplateBuilder.tsx +++ b/ui/src/tempVars/components/MetaQueryTemplateBuilder.tsx @@ -12,8 +12,6 @@ import { TemplateValueType, } from 'src/types' -// TODO: Ensure save is wired up to changes - const DEBOUNCE_DELAY = 750 interface State { @@ -30,30 +28,31 @@ class CustomMetaQueryTemplateBuilder extends PureComponent< > { private handleMetaQueryChange: () => void = _.debounce(() => { const {metaQuery, metaQueryInput} = this.state - const {template, onUpdateTemplate} = this.props if (metaQuery === metaQueryInput) { return } this.setState({metaQuery: metaQueryInput}, this.executeQuery) - - const nextTemplate = {...template, query: {influxql: metaQueryInput}} - - onUpdateTemplate(nextTemplate) }, DEBOUNCE_DELAY) constructor(props) { super(props) + const metaQuery = _.get(props.template, 'query.influxql', '') + this.state = { - metaQueryInput: '', - metaQuery: '', + metaQuery, + metaQueryInput: metaQuery, metaQueryResults: [], metaQueryResultsStatus: RemoteDataState.NotStarted, } } + public componentDidMount() { + this.executeQuery() + } + public render() { const {metaQueryInput} = this.state @@ -138,7 +137,7 @@ class CustomMetaQueryTemplateBuilder extends PureComponent< const nextValues = metaQueryResults.map(result => { return { - type: TemplateValueType.Constant, + type: TemplateValueType.MetaQuery, value: result, selected: false, } @@ -151,6 +150,9 @@ class CustomMetaQueryTemplateBuilder extends PureComponent< const nextTemplate = { ...template, values: nextValues, + query: { + influxql: metaQuery, + }, } onUpdateTemplate(nextTemplate) diff --git a/ui/src/types/tempVars.ts b/ui/src/types/tempVars.ts index c51599edf6..cc17663c4a 100644 --- a/ui/src/types/tempVars.ts +++ b/ui/src/types/tempVars.ts @@ -9,6 +9,7 @@ export enum TemplateValueType { CSV = 'csv', Points = 'points', Constant = 'constant', + MetaQuery = 'influxql', } export interface TemplateValue {