@@ -96,7 +96,7 @@ const TestHistoryTable = ({ comparisonResults, testResult }) => {
9696 operator : 'gt' ,
9797 value : new Date (
9898 new Date ( testResult ?. start_time ) . getTime ( ) -
99- WEEKS [ '1 Week' ] * millisecondsInMonth ,
99+ WEEKS [ selectedTimeRange ] * millisecondsInMonth ,
100100 ) . toISOString ( ) ,
101101 }
102102 : { } ;
@@ -131,7 +131,7 @@ const TestHistoryTable = ({ comparisonResults, testResult }) => {
131131 ) ,
132132 ] ) ;
133133 }
134- } , [ onlyFailures , setActiveFilters , testResult ] ) ;
134+ } , [ onlyFailures , setActiveFilters , testResult , selectedTimeRange ] ) ;
135135
136136 // fetch result data with active filters
137137 useEffect ( ( ) => {
@@ -158,8 +158,8 @@ const TestHistoryTable = ({ comparisonResults, testResult }) => {
158158 . flat ( ) ,
159159 ) ;
160160
161- setPage ( data . pagination . page . toString ( ) ) ;
162- setPageSize ( data . pagination . pageSize . toString ( ) ) ;
161+ setPage ( data . pagination . page ) ;
162+ setPageSize ( data . pagination . pageSize ) ;
163163 setTotalItems ( data . pagination . totalItems ) ;
164164 } catch ( error ) {
165165 console . error ( 'Error fetching result data:' , error ) ;
@@ -168,11 +168,17 @@ const TestHistoryTable = ({ comparisonResults, testResult }) => {
168168 }
169169 setFetching ( false ) ;
170170 } ;
171+
171172 if ( comparisonResults !== undefined ) {
172173 setRows ( [ ...comparisonResults ] ) ;
173174 setFetching ( false ) ;
174175 } else {
175- getResults ( ) ;
176+ const debouncer = setTimeout ( ( ) => {
177+ getResults ( ) ;
178+ } , 200 ) ;
179+ return ( ) => {
180+ clearTimeout ( debouncer ) ;
181+ } ;
176182 }
177183 } , [
178184 activeFilters ,
@@ -232,8 +238,12 @@ const TestHistoryTable = ({ comparisonResults, testResult }) => {
232238 console . error ( error ) ;
233239 }
234240 } ;
235-
236- resultAggFetch ( ) ;
241+ const debouncer = setTimeout ( ( ) => {
242+ resultAggFetch ( ) ;
243+ } , 200 ) ;
244+ return ( ) => {
245+ clearTimeout ( debouncer ) ;
246+ } ;
237247 }
238248 } , [ activeFilters ] ) ;
239249
@@ -245,30 +255,12 @@ const TestHistoryTable = ({ comparisonResults, testResult }) => {
245255 // Handle time range select
246256 const onTimeRangeSelect = useCallback (
247257 ( _ , selection ) => {
248- if ( testResult ?. start_time ) {
249- const startTime = new Date ( testResult ?. start_time ) ;
250- const selectionCoefficient = WEEKS [ selection ] ;
251- const timeRange = new Date (
252- startTime . getTime ( ) - selectionCoefficient * millisecondsInMonth ,
253- ) ;
254- setActiveFilters ( ( prevFilters ) => {
255- return prevFilters . map ( ( filter ) => {
256- if ( filter . field === 'start_time' ) {
257- return {
258- ...filter ,
259- operator : 'gt' ,
260- value : timeRange . toISOString ( ) ,
261- } ;
262- } else {
263- return filter ;
264- }
265- } ) ;
266- } ) ;
258+ if ( Object . hasOwn ( testResult , 'start_time' ) ) {
267259 setTimeRangeOpen ( false ) ;
268260 setSelectedTimeRange ( selection ) ;
269261 }
270262 } ,
271- [ setActiveFilters , testResult ?. start_time ] ,
263+ [ testResult ] ,
272264 ) ;
273265
274266 // Handle time range toggle
0 commit comments