Fix consuming source from context in FieldList

pull/10616/head
Jared Scheib 2018-05-04 18:16:12 -07:00
parent eb73b090cd
commit 7dd3741b5c
2 changed files with 34 additions and 28 deletions

View File

@ -7,6 +7,8 @@ import FieldList from 'src/shared/components/FieldList'
import {defaultEveryFrequency} from 'src/kapacitor/constants' import {defaultEveryFrequency} from 'src/kapacitor/constants'
import {SourceContext} from 'src/CheckSources'
const makeQueryHandlers = (actions, query) => ({ const makeQueryHandlers = (actions, query) => ({
handleChooseNamespace: namespace => { handleChooseNamespace: namespace => {
actions.chooseNamespace(query.id, namespace) actions.chooseNamespace(query.id, namespace)
@ -66,9 +68,14 @@ const DataSection = ({
} = makeQueryHandlers(actions, query) } = makeQueryHandlers(actions, query)
return ( return (
<SourceContext.Consumer>
{source => (
<div className="rule-section"> <div className="rule-section">
<div className="query-builder"> <div className="query-builder">
<DatabaseList query={query} onChooseNamespace={handleChooseNamespace} /> <DatabaseList
query={query}
onChooseNamespace={handleChooseNamespace}
/>
<MeasurementList <MeasurementList
query={query} query={query}
onChooseMeasurement={handleChooseMeasurement} onChooseMeasurement={handleChooseMeasurement}
@ -84,10 +91,13 @@ const DataSection = ({
onGroupByTime={handleGroupByTime} onGroupByTime={handleGroupByTime}
removeFuncs={handleRemoveFuncs} removeFuncs={handleRemoveFuncs}
applyFuncsToField={handleApplyFuncsToField(onAddEvery)} applyFuncsToField={handleApplyFuncsToField(onAddEvery)}
source={source}
/> />
)} )}
</div> </div>
</div> </div>
)}
</SourceContext.Consumer>
) )
} }

View File

@ -61,18 +61,15 @@ interface Props {
addInitialField: (field: Field, groupBy: GroupBy) => void addInitialField: (field: Field, groupBy: GroupBy) => void
initialGroupByTime: string | null initialGroupByTime: string | null
isQuerySupportedByExplorer: boolean isQuerySupportedByExplorer: boolean
source: Source
} }
interface State { interface State {
fields: Field[] fields: Field[]
} }
interface Context {
source: Source
}
@ErrorHandling @ErrorHandling
class FieldList extends PureComponent<Props, State> { class FieldList extends PureComponent<Props, State> {
public static context: Context
public static defaultProps: Partial<Props> = { public static defaultProps: Partial<Props> = {
isKapacitorRule: false, isKapacitorRule: false,
initialGroupByTime: null, initialGroupByTime: null,
@ -249,8 +246,7 @@ class FieldList extends PureComponent<Props, State> {
private getFields = (): void => { private getFields = (): void => {
const {database, measurement, retentionPolicy} = this.props.query const {database, measurement, retentionPolicy} = this.props.query
const {source} = this.context const {querySource, source} = this.props
const {querySource} = this.props
const proxy = const proxy =
_.get(querySource, ['links', 'proxy'], null) || source.links.proxy _.get(querySource, ['links', 'proxy'], null) || source.links.proxy