diff --git a/src/components/results/sensitivity-analysis/paged-sensitivity-analysis-result.tsx b/src/components/results/sensitivity-analysis/paged-sensitivity-analysis-result.tsx index 145155465c..77406b1a1c 100644 --- a/src/components/results/sensitivity-analysis/paged-sensitivity-analysis-result.tsx +++ b/src/components/results/sensitivity-analysis/paged-sensitivity-analysis-result.tsx @@ -17,7 +17,7 @@ import { } from './sensitivity-analysis-result-utils'; import { ChangeEvent, MouseEvent, useCallback, useEffect, useMemo, useState } from 'react'; import { useIntl } from 'react-intl'; -import { useSnackMessage, ComputingType } from '@gridsuite/commons-ui'; +import { useSnackMessage, ComputingType, useDebounce } from '@gridsuite/commons-ui'; import CustomTablePagination from '../../utils/custom-table-pagination'; import { fetchSensitivityAnalysisFilterOptions, @@ -214,15 +214,18 @@ function PagedSensitivityAnalysisResult({ intl, ]); + // Debounce the fetch to avoid excessive calls + const debouncedFetchResult = useDebounce(fetchResult, 1000); + useEffect(() => { if (sensiStatus === RunningStatus.RUNNING) { setResult(null); } if (sensiStatus === RunningStatus.SUCCEED) { fetchFilterOptions(); - fetchResult(); + debouncedFetchResult(); } - }, [sensiStatus, fetchResult, fetchFilterOptions, globalFilters]); + }, [sensiStatus, debouncedFetchResult, fetchFilterOptions, globalFilters]); return ( <>