feat(fluxWizard): introduce timeRangeWindowPeriod

pull/5852/head
Pavel Zavora 2022-02-01 18:01:36 +01:00
parent 62acd7f18c
commit 242c9ad62f
2 changed files with 22 additions and 14 deletions

View File

@ -14,10 +14,9 @@ import {
} from 'src/reusable_ui'
import AggregationSelector from './AggregationSelector'
import TagSelector from './TagSelector'
import {fluxPeriodFromRangeSeconds} from 'src/tempVars/utils/replace'
import moment from 'moment'
import {TagSelectorState, TimeMachineQueryProps} from './types'
import {addTagSelectorThunk} from './actions/thunks'
import timeRangeWindowPeriod from './util/timeRangeWindowPeriod'
interface OwnProps extends TimeMachineQueryProps {
onSubmit: () => void
@ -34,18 +33,9 @@ const FluxQueryBuilder = ({
onShowEditor,
onAddTagSelector,
}: Props) => {
const defaultPeriod = useMemo(() => {
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)
}
}, [timeRange])
const defaultPeriod = useMemo(() => timeRangeWindowPeriod(timeRange), [
timeRange,
])
return (
<div className="flux-query-builder" data-testid="flux-query-builder">

View File

@ -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