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" >