This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 578d43fef9b fix(listview): prevent table column layout shift on
content change (#37299)
578d43fef9b is described below
commit 578d43fef9b76a20b5959c18de34007f73fad8c9
Author: Jean Massucatto <[email protected]>
AuthorDate: Thu Oct 22 12:17:25 2026 -0300
fix(listview): prevent table column layout shift on content change (#37299)
Co-authored-by: Claude Opus 4.8 <[email protected]>
Co-authored-by: Enzo Martellucci <[email protected]>
Co-authored-by: Evan Rusackas <[email protected]>
Co-authored-by: Evan Rusackas <[email protected]>
---
.../src/components/TableCollection/utils.tsx | 3 ++-
superset-frontend/src/pages/ChartList/index.tsx | 9 +++++++--
superset-frontend/src/pages/DashboardList/index.tsx | 3 ++-
superset-frontend/src/pages/DatasetList/index.tsx | 18 ++++++++++++------
4 files changed, 23 insertions(+), 10 deletions(-)
diff --git
a/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
b/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
index a5355137926..2ff923e6ad9 100644
---
a/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
+++
b/superset-frontend/packages/superset-ui-core/src/components/TableCollection/utils.tsx
@@ -27,7 +27,7 @@ import { Accessor, CellValue, HeaderGroup, Row } from
'react-table';
import { SortOrder } from '../Table';
-type TableSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
+type TableSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'xxxl';
type RowWithId<T extends object> = Row<T> & { rowId: string };
@@ -38,6 +38,7 @@ const COLUMN_SIZE_MAP: Record<TableSize, number> = {
lg: 100,
xl: 150,
xxl: 200,
+ xxxl: 360,
};
// Mirrors react-table's `Renderer<Props>` (a component, a render function,
diff --git a/superset-frontend/src/pages/ChartList/index.tsx
b/superset-frontend/src/pages/ChartList/index.tsx
index fbd969c1619..f49349d51cd 100644
--- a/superset-frontend/src/pages/ChartList/index.tsx
+++ b/superset-frontend/src/pages/ChartList/index.tsx
@@ -512,7 +512,7 @@ function ChartList(props: ChartListProps) {
Header: '',
id: 'id',
disableSortBy: true,
- size: 'xs',
+ size: 'sm',
hidden: !userId,
},
{
@@ -528,7 +528,11 @@ function ChartList(props: ChartListProps) {
},
}: any) => (
<FlexRowContainer>
- <Link to={url} data-test={`${sliceName}-list-chart-title`}>
+ <Link
+ to={url}
+ title={sliceName}
+ data-test={`${sliceName}-list-chart-title`}
+ >
{certifiedBy && (
<>
<CertifiedBadge
@@ -544,6 +548,7 @@ function ChartList(props: ChartListProps) {
),
Header: t('Name'),
accessor: 'slice_name',
+ size: 'xxxl',
id: 'slice_name',
},
{
diff --git a/superset-frontend/src/pages/DashboardList/index.tsx
b/superset-frontend/src/pages/DashboardList/index.tsx
index dfb94f0d3ba..9652a8fc272 100644
--- a/superset-frontend/src/pages/DashboardList/index.tsx
+++ b/superset-frontend/src/pages/DashboardList/index.tsx
@@ -396,7 +396,7 @@ function DashboardList(props: DashboardListProps) {
Header: '',
id: 'id',
disableSortBy: true,
- size: 'xs',
+ size: 'sm',
hidden: !user?.userId,
},
{
@@ -428,6 +428,7 @@ function DashboardList(props: DashboardListProps) {
),
Header: t('Name'),
accessor: 'dashboard_title',
+ size: 'xxxl',
id: 'dashboard_title',
},
{
diff --git a/superset-frontend/src/pages/DatasetList/index.tsx
b/superset-frontend/src/pages/DatasetList/index.tsx
index 43b82ec3fca..d5e9f414578 100644
--- a/superset-frontend/src/pages/DatasetList/index.tsx
+++ b/superset-frontend/src/pages/DatasetList/index.tsx
@@ -842,11 +842,10 @@ const DatasetList: FunctionComponent<DatasetListProps> =
({
const columns = useMemo(
() => [
{
- Cell: () => null,
- accessor: 'kind_icon',
- disableSortBy: true,
- size: 'xs',
+ accessor: 'id',
id: 'id',
+ hidden: true,
+ disableSortBy: true,
},
{
Cell: ({
@@ -872,7 +871,11 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
let titleLink: JSX.Element;
if (PREVENT_UNSAFE_DEFAULT_URLS_ON_DATASET) {
titleLink = (
- <Link data-test="internal-link" to={exploreTo}>
+ <Link
+ data-test="internal-link"
+ to={exploreTo}
+ title={datasetTitle}
+ >
{datasetTitle}
</Link>
);
@@ -880,7 +883,9 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
titleLink = (
// exploreUrl can be a link to Explore or an external link
// in the first case use SPA routing, else use HTML anchor
- <GenericLink to={exploreTo}>{datasetTitle}</GenericLink>
+ <GenericLink to={exploreTo} title={datasetTitle}>
+ {datasetTitle}
+ </GenericLink>
);
}
try {
@@ -916,6 +921,7 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
},
Header: t('Name'),
accessor: 'table_name',
+ size: 'xxxl',
id: 'table_name',
},
{