mirror of
https://github.com/apache/superset.git
synced 2026-05-07 08:54:23 +00:00
feat(sqllab): Adds refresh button to table metadata in SQL Lab (#29974)
This commit is contained in:
@@ -32,6 +32,7 @@ import {
|
||||
syncTable,
|
||||
} from 'src/SqlLab/actions/sqlLab';
|
||||
import {
|
||||
tableApiUtil,
|
||||
useTableExtendedMetadataQuery,
|
||||
useTableMetadataQuery,
|
||||
} from 'src/hooks/apiResources';
|
||||
@@ -107,7 +108,7 @@ const TableElement = ({ table, ...props }: TableElementProps) => {
|
||||
const {
|
||||
currentData: tableMetadata,
|
||||
isSuccess: isMetadataSuccess,
|
||||
isLoading: isMetadataLoading,
|
||||
isFetching: isMetadataFetching,
|
||||
isError: hasMetadataError,
|
||||
} = useTableMetadataQuery(
|
||||
{
|
||||
@@ -177,6 +178,13 @@ const TableElement = ({ table, ...props }: TableElementProps) => {
|
||||
setSortColumns(prevState => !prevState);
|
||||
};
|
||||
|
||||
const refreshTableMetadata = () => {
|
||||
dispatch(
|
||||
tableApiUtil.invalidateTags([{ type: 'TableMetadatas', id: name }]),
|
||||
);
|
||||
dispatch(syncTable(table, tableData));
|
||||
};
|
||||
|
||||
const renderWell = () => {
|
||||
let partitions;
|
||||
let metadata;
|
||||
@@ -268,6 +276,11 @@ const TableElement = ({ table, ...props }: TableElementProps) => {
|
||||
}
|
||||
`}
|
||||
>
|
||||
<IconTooltip
|
||||
className="fa fa-refresh pull-left m-l-2 pointer"
|
||||
onClick={refreshTableMetadata}
|
||||
tooltip={t('Refresh table schema')}
|
||||
/>
|
||||
{keyLink}
|
||||
<IconTooltip
|
||||
className={
|
||||
@@ -341,7 +354,7 @@ const TableElement = ({ table, ...props }: TableElementProps) => {
|
||||
</Tooltip>
|
||||
|
||||
<div className="pull-right header-right-side">
|
||||
{isMetadataLoading || isExtraMetadataLoading ? (
|
||||
{isMetadataFetching || isExtraMetadataLoading ? (
|
||||
<Loading position="inline" />
|
||||
) : (
|
||||
<Fade
|
||||
|
||||
Reference in New Issue
Block a user