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,28 +68,36 @@ const DataSection = ({
} = makeQueryHandlers(actions, query) } = makeQueryHandlers(actions, query)
return ( return (
<div className="rule-section"> <SourceContext.Consumer>
<div className="query-builder"> {source => (
<DatabaseList query={query} onChooseNamespace={handleChooseNamespace} /> <div className="rule-section">
<MeasurementList <div className="query-builder">
query={query} <DatabaseList
onChooseMeasurement={handleChooseMeasurement} query={query}
onChooseTag={handleChooseTag} onChooseNamespace={handleChooseNamespace}
onGroupByTag={handleGroupByTag} />
onToggleTagAcceptance={handleToggleTagAcceptance} <MeasurementList
/> query={query}
{isDeadman ? null : ( onChooseMeasurement={handleChooseMeasurement}
<FieldList onChooseTag={handleChooseTag}
query={query} onGroupByTag={handleGroupByTag}
onToggleField={handleToggleField} onToggleTagAcceptance={handleToggleTagAcceptance}
isKapacitorRule={isKapacitorRule} />
onGroupByTime={handleGroupByTime} {isDeadman ? null : (
removeFuncs={handleRemoveFuncs} <FieldList
applyFuncsToField={handleApplyFuncsToField(onAddEvery)} query={query}
/> onToggleField={handleToggleField}
)} isKapacitorRule={isKapacitorRule}
</div> onGroupByTime={handleGroupByTime}
</div> removeFuncs={handleRemoveFuncs}
applyFuncsToField={handleApplyFuncsToField(onAddEvery)}
source={source}
/>
)}
</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