From b53d42d160748a568221ac985f2d5e23ce858686 Mon Sep 17 00:00:00 2001 From: Iris Scholten Date: Wed, 2 May 2018 09:41:09 -0700 Subject: [PATCH] Add stronger types to handleSetQuerySource in CellEditorOverlay and make sure it conforms to types --- ui/src/dashboards/components/CellEditorOverlay.tsx | 12 +++++++----- ui/src/dashboards/components/OverlayControls.tsx | 10 +++++++--- ui/src/dashboards/components/SourceSelector.tsx | 8 ++++---- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ui/src/dashboards/components/CellEditorOverlay.tsx b/ui/src/dashboards/components/CellEditorOverlay.tsx index f7f858911b..aa1e1b11f3 100644 --- a/ui/src/dashboards/components/CellEditorOverlay.tsx +++ b/ui/src/dashboards/components/CellEditorOverlay.tsx @@ -326,11 +326,13 @@ class CellEditorOverlay extends Component { this.setState({isStaticLegend}) } - private handleSetQuerySource = source => { - const queriesWorkingDraft = this.state.queriesWorkingDraft.map(q => ({ - ..._.cloneDeep(q), - source, - })) + private handleSetQuerySource = (source: Source): void => { + const queriesWorkingDraft: QueryConfig[] = this.state.queriesWorkingDraft.map( + q => ({ + ..._.cloneDeep(q), + source: source.links.self, + }) + ) this.setState({queriesWorkingDraft}) } diff --git a/ui/src/dashboards/components/OverlayControls.tsx b/ui/src/dashboards/components/OverlayControls.tsx index 0e47a91fd8..4d03d6119c 100644 --- a/ui/src/dashboards/components/OverlayControls.tsx +++ b/ui/src/dashboards/components/OverlayControls.tsx @@ -3,7 +3,11 @@ import classnames from 'classnames' import ConfirmOrCancel from 'src/shared/components/ConfirmOrCancel' import SourceSelector from 'src/dashboards/components/SourceSelector' -import {QueryConfig} from 'src/types/query' +import {QueryConfig, Source} from 'src/types' + +interface SourceOption extends Source { + text: string +} interface Props { onCancel: () => void @@ -12,8 +16,8 @@ interface Props { onClickDisplayOptions: ( displayOptions: boolean ) => (event: MouseEvent) => void - isSavable?: boolean - sources: any[] + isSavable: boolean + sources: SourceOption[] onSetQuerySource: (source: any) => void selected: string queries: QueryConfig[] diff --git a/ui/src/dashboards/components/SourceSelector.tsx b/ui/src/dashboards/components/SourceSelector.tsx index 8703b3f344..7035afd47f 100644 --- a/ui/src/dashboards/components/SourceSelector.tsx +++ b/ui/src/dashboards/components/SourceSelector.tsx @@ -1,15 +1,15 @@ import React, {SFC} from 'react' import Dropdown from 'src/shared/components/Dropdown' -import {QueryConfig} from 'src/types/query' +import {QueryConfig, Source} from 'src/types' -interface Options { +interface SourceOption extends Source { text: string } interface Props { - sources: Options[] + sources: SourceOption[] selected: string - onSetQuerySource: (source: any) => void + onSetQuerySource: (source: SourceOption) => void queries: QueryConfig[] }