From fcb4f412b88fa747472b3e0e31f9000b40d05a86 Mon Sep 17 00:00:00 2001 From: Franck LECUYER Date: Thu, 13 Nov 2025 15:08:03 +0100 Subject: [PATCH] Fetch sensitivity analysis results with debounce to avoid ordering pb with global filter Signed-off-by: Franck LECUYER --- .../paged-sensitivity-analysis-result.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 ( <>