chore(schemaExplorer): simplify fetchMeasurements
parent
733527698d
commit
5f30d8ab4f
|
@ -2,8 +2,7 @@
|
||||||
import {PureComponent} from 'react'
|
import {PureComponent} from 'react'
|
||||||
|
|
||||||
// Utils
|
// Utils
|
||||||
import {measurements as fetchMeasurementsAsync} from 'src/shared/apis/flux/metaQueries'
|
import {fetchMeasurements} from 'src/shared/apis/flux/metaQueries'
|
||||||
import parseValuesColumn from 'src/shared/parsing/flux/values'
|
|
||||||
|
|
||||||
// Types
|
// Types
|
||||||
import {Source, RemoteDataState} from 'src/types'
|
import {Source, RemoteDataState} from 'src/types'
|
||||||
|
@ -19,14 +18,6 @@ interface State {
|
||||||
loading: RemoteDataState
|
loading: RemoteDataState
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function fetchFluxMeasurements(
|
|
||||||
source: Source,
|
|
||||||
bucket: string
|
|
||||||
): Promise<string[]> {
|
|
||||||
const measurementResults = await fetchMeasurementsAsync(source, bucket)
|
|
||||||
return parseValuesColumn(measurementResults)
|
|
||||||
}
|
|
||||||
|
|
||||||
class FetchMeasurements extends PureComponent<Props, State> {
|
class FetchMeasurements extends PureComponent<Props, State> {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props)
|
super(props)
|
||||||
|
@ -36,18 +27,18 @@ class FetchMeasurements extends PureComponent<Props, State> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public componentDidMount() {
|
public componentDidMount() {
|
||||||
this.fetchMeasurements()
|
this.fetchData()
|
||||||
}
|
}
|
||||||
|
|
||||||
public render() {
|
public render() {
|
||||||
return this.props.children(this.state.measurements, this.state.loading)
|
return this.props.children(this.state.measurements, this.state.loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
private async fetchMeasurements() {
|
private async fetchData() {
|
||||||
const {source, bucket} = this.props
|
const {source, bucket} = this.props
|
||||||
this.setState({loading: RemoteDataState.Loading})
|
this.setState({loading: RemoteDataState.Loading})
|
||||||
try {
|
try {
|
||||||
const measurements = await fetchFluxMeasurements(source, bucket)
|
const measurements = await fetchMeasurements(source, bucket)
|
||||||
this.setState({measurements, loading: RemoteDataState.Done})
|
this.setState({measurements, loading: RemoteDataState.Done})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.setState({loading: RemoteDataState.Error})
|
this.setState({loading: RemoteDataState.Error})
|
||||||
|
|
|
@ -4,12 +4,19 @@ import AJAX from 'src/utils/ajax'
|
||||||
import {Source, SchemaFilter} from 'src/types'
|
import {Source, SchemaFilter} from 'src/types'
|
||||||
import recordProperty from 'src/flux/helpers/recordProperty'
|
import recordProperty from 'src/flux/helpers/recordProperty'
|
||||||
import fluxString from 'src/flux/helpers/fluxString'
|
import fluxString from 'src/flux/helpers/fluxString'
|
||||||
|
import parseValuesColumn from 'src/shared/parsing/flux/values'
|
||||||
|
|
||||||
export const measurements = async (
|
export const fetchMeasurements = async (
|
||||||
source: Source,
|
source: Source,
|
||||||
bucket: string
|
bucket: string
|
||||||
): Promise<any> => {
|
): Promise<string[]> => {
|
||||||
return tagValues({bucket, source, tagKey: '_measurement', limit: 0})
|
const csvResponse = await tagValues({
|
||||||
|
bucket,
|
||||||
|
source,
|
||||||
|
tagKey: '_measurement',
|
||||||
|
limit: 0,
|
||||||
|
})
|
||||||
|
return parseValuesColumn(csvResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
export const fields = async (
|
export const fields = async (
|
||||||
|
|
Loading…
Reference in New Issue