You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jl...@apache.org on 2026/06/01 16:32:42 UTC

(superset) branch master updated: fix(dataset): sort by data type when clicking Datatype column header (#40411)

This is an automated email from the ASF dual-hosted git repository.

sadpandajoe 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 316dd3db22b fix(dataset): sort by data type when clicking Datatype column header (#40411)
316dd3db22b is described below

commit 316dd3db22b0e68eaa93331eee458985306df28c
Author: Jean Massucatto <ma...@gmail.com>
AuthorDate: Mon Jun 1 13:32:33 2026 -0300

    fix(dataset): sort by data type when clicking Datatype column header (#40411)
---
 .../AddDataset/DatasetPanel/DatasetPanel.test.tsx  | 23 ++++++++++++++++++++++
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |  2 +-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.test.tsx b/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.test.tsx
index fbd6c5ea9af..d350c7d52cb 100644
--- a/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.test.tsx
+++ b/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.test.tsx
@@ -23,6 +23,7 @@ import DatasetPanel, {
   COLUMN_TITLE,
 } from 'src/features/datasets/AddDataset/DatasetPanel/DatasetPanel';
 import { exampleColumns, exampleDataset } from './fixtures';
+import { ITableColumn } from './types';
 import {
   SELECT_MESSAGE,
   CREATE_MESSAGE,
@@ -174,4 +175,26 @@ describe('DatasetPanel', () => {
       ),
     ).toBeVisible();
   });
+
+  test('sorts the column list by name when sorting by Column Name', () => {
+    const sorter = tableColumnDefinition[0].sorter as (
+      a: ITableColumn,
+      b: ITableColumn,
+    ) => number;
+    const sorted = [...exampleColumns].sort(sorter);
+    expect(sorted.map(c => c.name)).toEqual([
+      'birth_date',
+      'height_in_inches',
+      'name',
+    ]);
+  });
+
+  test('sorts the column list by type when sorting by Datatype', () => {
+    const sorter = tableColumnDefinition[1].sorter as (
+      a: ITableColumn,
+      b: ITableColumn,
+    ) => number;
+    const sorted = [...exampleColumns].sort(sorter);
+    expect(sorted.map(c => c.type)).toEqual(['DATE', 'NUMBER', 'STRING']);
+  });
 });
diff --git a/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.tsx b/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.tsx
index ea0b0815076..e18cd00c6fa 100644
--- a/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.tsx
+++ b/superset-frontend/src/features/datasets/AddDataset/DatasetPanel/DatasetPanel.tsx
@@ -183,7 +183,7 @@ export const tableColumnDefinition: ColumnsType<ITableColumn> = [
     dataIndex: 'type',
     key: 'type',
     width: '100px',
-    sorter: (a: ITableColumn, b: ITableColumn) => a.name.localeCompare(b.name),
+    sorter: (a: ITableColumn, b: ITableColumn) => a.type.localeCompare(b.type),
   },
 ];