From aaa87d79c2038e003c6a3b3b4c25b88f916d58ce Mon Sep 17 00:00:00 2001 From: Beto Dealmeida Date: Thu, 14 May 2026 17:48:21 -0400 Subject: [PATCH] Add indicator in Explore --- .../CachedLabel/TooltipContent.test.tsx | 9 +++++++++ .../components/CachedLabel/TooltipContent.tsx | 19 ++++++++++++++++--- .../src/components/CachedLabel/index.tsx | 8 +++++++- .../src/components/CachedLabel/types.ts | 1 + .../src/components/Select/Select.tsx | 6 ++++-- .../src/query/types/QueryResponse.ts | 1 + .../tests/dashboard/clear-all-filters.spec.ts | 5 +---- .../src/explore/components/ChartPills.tsx | 12 ++++++++++-- .../ExploreChartPanel.test.tsx | 13 +++++++++++++ superset/common/query_context_factory.py | 1 + superset/common/query_context_processor.py | 2 +- superset/common/query_object.py | 4 ++++ superset/semantic_layers/cache.py | 9 +++++---- superset/semantic_layers/mapper.py | 2 +- superset/superset_typing.py | 2 ++ .../semantic_layers/cache_integration_test.py | 16 ++++++++++++++++ 16 files changed, 92 insertions(+), 18 deletions(-) diff --git a/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.test.tsx b/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.test.tsx index 72629c868b2..2bc44409e44 100644 --- a/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.test.tsx +++ b/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.test.tsx @@ -36,3 +36,12 @@ test('Rendering TooltipContent correctly - with timestep', () => { .fromNow()}. Click to force-refresh`, ); }); + +test('Rendering TooltipContent correctly - semantic cache', () => { + render(); + expect(screen.getByTestId('tooltip-content')?.textContent).toBe( + `Loaded from semantic smart cache ${extendedDayjs + .utc('01-01-2000') + .fromNow()}. Click to force-refresh`, + ); +}); diff --git a/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.tsx b/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.tsx index da85ff5cd06..67cead5b8d0 100644 --- a/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.tsx +++ b/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/TooltipContent.tsx @@ -23,15 +23,28 @@ import { extendedDayjs } from '../../utils/dates'; interface Props { cachedTimestamp?: string; + cacheSource?: 'query' | 'semantic'; } -export const TooltipContent: FC = ({ cachedTimestamp }) => { +export const TooltipContent: FC = ({ + cachedTimestamp, + cacheSource = 'query', +}) => { + const loadedFromText = + cacheSource === 'semantic' + ? t('Loaded from semantic smart cache') + : t('Loaded data cached'); + const loadedFallbackText = + cacheSource === 'semantic' + ? t('Loaded from semantic smart cache') + : t('Loaded from cache'); + const cachedText = cachedTimestamp ? ( - {t('Loaded data cached')} + {loadedFromText} {extendedDayjs.utc(cachedTimestamp).fromNow()} ) : ( - t('Loaded from cache') + loadedFallbackText ); return ( diff --git a/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/index.tsx b/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/index.tsx index 027526fe33f..018768d6684 100644 --- a/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/index.tsx +++ b/superset-frontend/packages/superset-ui-core/src/components/CachedLabel/index.tsx @@ -29,13 +29,19 @@ export const CachedLabel: FC = ({ className, onClick, cachedTimestamp, + cacheSource = 'query', }) => { const [hovered, setHovered] = useState(false); const labelType = hovered ? 'info' : 'default'; return ( } + title={ + + } id="cache-desc-tooltip" >