feat(fluxWizard): introduce timeRangeWindowPeriod
parent
62acd7f18c
commit
242c9ad62f
|
@ -14,10 +14,9 @@ import {
|
||||||
} from 'src/reusable_ui'
|
} from 'src/reusable_ui'
|
||||||
import AggregationSelector from './AggregationSelector'
|
import AggregationSelector from './AggregationSelector'
|
||||||
import TagSelector from './TagSelector'
|
import TagSelector from './TagSelector'
|
||||||
import {fluxPeriodFromRangeSeconds} from 'src/tempVars/utils/replace'
|
|
||||||
import moment from 'moment'
|
|
||||||
import {TagSelectorState, TimeMachineQueryProps} from './types'
|
import {TagSelectorState, TimeMachineQueryProps} from './types'
|
||||||
import {addTagSelectorThunk} from './actions/thunks'
|
import {addTagSelectorThunk} from './actions/thunks'
|
||||||
|
import timeRangeWindowPeriod from './util/timeRangeWindowPeriod'
|
||||||
|
|
||||||
interface OwnProps extends TimeMachineQueryProps {
|
interface OwnProps extends TimeMachineQueryProps {
|
||||||
onSubmit: () => void
|
onSubmit: () => void
|
||||||
|
@ -34,18 +33,9 @@ const FluxQueryBuilder = ({
|
||||||
onShowEditor,
|
onShowEditor,
|
||||||
onAddTagSelector,
|
onAddTagSelector,
|
||||||
}: Props) => {
|
}: Props) => {
|
||||||
const defaultPeriod = useMemo(() => {
|
const defaultPeriod = useMemo(() => timeRangeWindowPeriod(timeRange), [
|
||||||
if (timeRange) {
|
timeRange,
|
||||||
if (timeRange.seconds) {
|
])
|
||||||
return fluxPeriodFromRangeSeconds(timeRange.seconds)
|
|
||||||
}
|
|
||||||
// calculate from upper / lower
|
|
||||||
const seconds = Math.round(
|
|
||||||
moment(timeRange.upper).diff(moment(timeRange.lower)) / 1000
|
|
||||||
)
|
|
||||||
return fluxPeriodFromRangeSeconds(seconds)
|
|
||||||
}
|
|
||||||
}, [timeRange])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flux-query-builder" data-testid="flux-query-builder">
|
<div className="flux-query-builder" data-testid="flux-query-builder">
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
import moment from 'moment'
|
||||||
|
import {fluxPeriodFromRangeSeconds} from 'src/tempVars/utils/replace'
|
||||||
|
import {TimeRange} from 'src/types'
|
||||||
|
|
||||||
|
function timeRangeWindowPeriod(timeRange: TimeRange | undefined) {
|
||||||
|
if (timeRange) {
|
||||||
|
if (timeRange.seconds) {
|
||||||
|
return fluxPeriodFromRangeSeconds(timeRange.seconds)
|
||||||
|
}
|
||||||
|
// calculate from upper / lower
|
||||||
|
const seconds = Math.round(
|
||||||
|
moment(timeRange.upper).diff(moment(timeRange.lower)) / 1000
|
||||||
|
)
|
||||||
|
return fluxPeriodFromRangeSeconds(seconds)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default timeRangeWindowPeriod
|
Loading…
Reference in New Issue