@@ -23,6 +23,7 @@ import {
2323
2424// Types
2525import { AppState , InternalFromFluxResult , TimeRange } from 'src/types'
26+ import { RemoteDataState } from '@influxdata/clockface'
2627/*
2728 This hook helps map the domain setting stored for line graph to the
2829 appropriate settings on a @influxdata/giraffe `Config` object.
@@ -137,13 +138,14 @@ export const useVisYDomainSettings = (
137138}
138139
139140interface ZoomRequeryArgs {
141+ data : NumericColumnData | string [ ]
140142 parsedResult : InternalFromFluxResult
141- setResult : Function
142143 preZoomResult : InternalFromFluxResult
143- setPreZoomResult : Function
144144 query : string
145+ setPreZoomResult : Function
146+ setRequeryStatus : Function
147+ setResult : Function
145148 storedDomain : number [ ]
146- data : NumericColumnData | string [ ]
147149 timeRange ?: TimeRange
148150}
149151
@@ -152,13 +154,14 @@ const isNotEqual = (firstValue: any, secondValue: any): boolean =>
152154
153155export const useZoomRequeryXDomainSettings = ( args : ZoomRequeryArgs ) => {
154156 const {
157+ data,
155158 parsedResult,
156- setResult,
157159 preZoomResult,
158- setPreZoomResult,
159160 query,
161+ setPreZoomResult,
162+ setRequeryStatus,
163+ setResult,
160164 storedDomain,
161- data,
162165 timeRange = null ,
163166 } = args
164167
@@ -204,11 +207,16 @@ export const useZoomRequeryXDomainSettings = (args: ZoomRequeryArgs) => {
204207 variables ,
205208 zoomQueryWindowVariable
206209 )
210+
211+ setRequeryStatus ( RemoteDataState . Loading )
207212 runQuery ( orgId , query , extern ) . promise . then (
208213 ( result : RunQueryResult ) => {
209214 if ( result . type === 'SUCCESS' ) {
215+ setRequeryStatus ( RemoteDataState . Done )
210216 const parsed = fromFlux ( result . csv )
211217 setResult ( parsed )
218+ } else {
219+ setRequeryStatus ( RemoteDataState . Error )
212220 }
213221 }
214222 )
@@ -217,6 +225,7 @@ export const useZoomRequeryXDomainSettings = (args: ZoomRequeryArgs) => {
217225 } , [ domain ] ) // eslint-disable-line react-hooks/exhaustive-deps
218226
219227 const setZoomDomain = ( updatedDomain : number [ ] ) => {
228+ setRequeryStatus ( RemoteDataState . NotStarted )
220229 if ( ! preZoomResult ) {
221230 setPreZoomResult ( parsedResult )
222231 }
@@ -225,6 +234,7 @@ export const useZoomRequeryXDomainSettings = (args: ZoomRequeryArgs) => {
225234 }
226235
227236 const resetDomain = ( ) => {
237+ setRequeryStatus ( RemoteDataState . NotStarted )
228238 if ( preZoomResult ) {
229239 setResult ( preZoomResult )
230240 setPreZoomResult ( null )
@@ -238,13 +248,14 @@ export const useZoomRequeryXDomainSettings = (args: ZoomRequeryArgs) => {
238248
239249export const useZoomRequeryYDomainSettings = ( args : ZoomRequeryArgs ) => {
240250 const {
251+ data,
241252 parsedResult,
242- setResult,
243253 preZoomResult,
244- setPreZoomResult,
245254 query,
255+ setPreZoomResult,
256+ setRequeryStatus,
257+ setResult,
246258 storedDomain,
247- data,
248259 timeRange = null ,
249260 } = args
250261
@@ -295,11 +306,16 @@ export const useZoomRequeryYDomainSettings = (args: ZoomRequeryArgs) => {
295306 variables ,
296307 zoomQueryWindowVariable
297308 )
309+
310+ setRequeryStatus ( RemoteDataState . Loading )
298311 runQuery ( orgId , query , extern ) . promise . then (
299312 ( result : RunQueryResult ) => {
300313 if ( result . type === 'SUCCESS' ) {
314+ setRequeryStatus ( RemoteDataState . Done )
301315 const parsed = fromFlux ( result . csv )
302316 setResult ( parsed )
317+ } else {
318+ setRequeryStatus ( RemoteDataState . Error )
303319 }
304320 }
305321 )
@@ -308,6 +324,7 @@ export const useZoomRequeryYDomainSettings = (args: ZoomRequeryArgs) => {
308324 } , [ domain ] ) // eslint-disable-line react-hooks/exhaustive-deps
309325
310326 const setZoomDomain = ( updatedDomain : number [ ] ) => {
327+ setRequeryStatus ( RemoteDataState . NotStarted )
311328 if ( ! preZoomResult ) {
312329 setPreZoomResult ( parsedResult )
313330 }
@@ -316,6 +333,7 @@ export const useZoomRequeryYDomainSettings = (args: ZoomRequeryArgs) => {
316333 }
317334
318335 const resetDomain = ( ) => {
336+ setRequeryStatus ( RemoteDataState . NotStarted )
319337 if ( preZoomResult ) {
320338 setResult ( preZoomResult )
321339 setPreZoomResult ( null )
0 commit comments