From 5c5e2113f018bf792a3b735f5a34d9b0bca147b3 Mon Sep 17 00:00:00 2001
From: lyndsiWilliams
Date: Mon, 21 Nov 2022 22:52:47 -0600
Subject: [PATCH 01/28] optimized setDatasets call
---
.../src/views/CRUD/data/dataset/AddDataset/index.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
index e4dbaa9a699d0..419db0dfe6e13 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
@@ -77,6 +77,7 @@ export default function AddDataset() {
>(datasetReducer, null);
const [hasColumns, setHasColumns] = useState(false);
const [datasets, setDatasets] = useState([]);
+ console.log(datasets);
const datasetNames = datasets.map(dataset => dataset.table_name);
const encodedSchema = dataset?.schema
? encodeURIComponent(dataset?.schema)
From e822b94ad196488e100940cd5255804acdbe9b0f Mon Sep 17 00:00:00 2001
From: lyndsiWilliams
Date: Tue, 22 Nov 2022 10:11:16 -0600
Subject: [PATCH 02/28] Remove console.log
---
.../src/views/CRUD/data/dataset/AddDataset/index.tsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
index 419db0dfe6e13..e4dbaa9a699d0 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/index.tsx
@@ -77,7 +77,6 @@ export default function AddDataset() {
>(datasetReducer, null);
const [hasColumns, setHasColumns] = useState(false);
const [datasets, setDatasets] = useState([]);
- console.log(datasets);
const datasetNames = datasets.map(dataset => dataset.table_name);
const encodedSchema = dataset?.schema
? encodeURIComponent(dataset?.schema)
From 9ec9c99c07db48a1933cfad2009d96ab7be7e029 Mon Sep 17 00:00:00 2001
From: lyndsiWilliams
Date: Tue, 29 Nov 2022 10:02:33 -0600
Subject: [PATCH 03/28] Create dataset polish/bug fix
---
.../src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
index 4f7dfca196f4f..f11b476195261 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
@@ -40,6 +40,7 @@ import {
emptyStateComponent,
} from 'src/components/EmptyState';
import { useToasts } from 'src/components/MessageToasts/withToasts';
+import { emptyStateComponent } from 'src/SqlLab/components/SqlEditorLeftBar';
import { DatasetActionType } from '../types';
interface LeftPanelProps {
From 7dc42efcbb33b11475d3237d7d2d110b154b88c1 Mon Sep 17 00:00:00 2001
From: lyndsiWilliams
Date: Mon, 19 Dec 2022 09:31:43 -0600
Subject: [PATCH 04/28] Make defaultPageSize a const and move
emptyStateComponent into src/components/EmptyState
---
.../src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
index f11b476195261..4f7dfca196f4f 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/AddDataset/LeftPanel/index.tsx
@@ -40,7 +40,6 @@ import {
emptyStateComponent,
} from 'src/components/EmptyState';
import { useToasts } from 'src/components/MessageToasts/withToasts';
-import { emptyStateComponent } from 'src/SqlLab/components/SqlEditorLeftBar';
import { DatasetActionType } from '../types';
interface LeftPanelProps {
From 2a42fda938ba92b5c9a82898f487efddeada992a Mon Sep 17 00:00:00 2001
From: lyndsiWilliams
Date: Tue, 3 Jan 2023 15:49:55 -0600
Subject: [PATCH 05/28] Change all add dataset entrances to use new create page
---
.../components/DatasourcePanel/index.tsx | 4 +-
.../explore/components/ExploreChartPanel.jsx | 4 +-
.../ColumnSelectPopover.tsx | 2 +-
.../AdhocMetricEditPopover/index.jsx | 2 +-
.../src/pages/ChartCreation/index.tsx | 5 +--
.../data/database/DatabaseModal/index.tsx | 2 +-
.../views/CRUD/data/dataset/DatasetList.tsx | 43 ++-----------------
.../src/views/components/RightMenu.tsx | 17 +-------
superset/views/datasource/views.py | 5 +--
9 files changed, 15 insertions(+), 69 deletions(-)
diff --git a/superset-frontend/src/explore/components/DatasourcePanel/index.tsx b/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
index dedffc104455e..e24d1100ac69f 100644
--- a/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
+++ b/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
@@ -373,7 +373,9 @@ export default function DataSourcePanel({
setShowSaveDatasetModal(true)}
+ onClick={() => {
+ window.location.href = '/dataset/add/';
+ }}
className="add-dataset-alert-description"
>
{t('Create a dataset')}
diff --git a/superset-frontend/src/explore/components/ExploreChartPanel.jsx b/superset-frontend/src/explore/components/ExploreChartPanel.jsx
index 03cda337bb951..ac9de71682860 100644
--- a/superset-frontend/src/explore/components/ExploreChartPanel.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartPanel.jsx
@@ -324,7 +324,9 @@ const ExploreChartPanel = ({
setShowDatasetModal(true)}
+ onClick={() => {
+ window.location.href = '/dataset/add/';
+ }}
css={{ textDecoration: 'underline' }}
>
{t('Create a dataset')}
diff --git a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
index fee2eb941ff60..6ea5dbbb907de 100644
--- a/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
+++ b/superset-frontend/src/explore/components/controls/DndColumnSelectControl/ColumnSelectPopover.tsx
@@ -231,7 +231,7 @@ const ColumnSelectPopover = ({
}, []);
const setDatasetAndClose = () => {
- if (setDatasetModal) setDatasetModal(true);
+ window.location.href = '/dataset/add/';
onClose();
};
diff --git a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx
index f49eb5b4f750c..f749a5d09fe94 100644
--- a/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx
+++ b/superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/index.jsx
@@ -388,7 +388,7 @@ export default class AdhocMetricEditPopover extends React.PureComponent {
tabIndex={0}
role="button"
onClick={() => {
- this.props.handleDatasetModal(true);
+ window.location.href = '/dataset/add/';
this.props.onClose();
}}
>
diff --git a/superset-frontend/src/pages/ChartCreation/index.tsx b/superset-frontend/src/pages/ChartCreation/index.tsx
index 4aeb7aeed4df8..bea530fd3ad5e 100644
--- a/superset-frontend/src/pages/ChartCreation/index.tsx
+++ b/superset-frontend/src/pages/ChartCreation/index.tsx
@@ -337,10 +337,7 @@ export class ChartCreation extends React.PureComponent<
const isButtonDisabled = this.isBtnDisabled();
const datasetHelpText = this.state.canCreateDataset ? (
-
+
{t('Add a dataset')}
{` ${t('or')} `}
diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
index 6e374f85c8955..96b30eec8e4a1 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
@@ -1350,7 +1350,7 @@ const DatabaseModal: FunctionComponent = ({
onClick={() => {
setLoading(true);
fetchAndSetDB();
- window.location.href = '/tablemodelview/list#create';
+ window.location.href = '/dataset/add/';
}}
>
{t('CREATE DATASET')}
diff --git a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx
index 68c65a7ad167e..7c73b5433965d 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx
+++ b/superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx
@@ -22,16 +22,13 @@ import React, {
useState,
useMemo,
useCallback,
- useEffect,
} from 'react';
import rison from 'rison';
-import { useHistory, useLocation } from 'react-router-dom';
import {
createFetchRelated,
createFetchDistinct,
createErrorHandler,
} from 'src/views/CRUD/utils';
-import { getItem, LocalStorageKeys } from 'src/utils/localStorageHelpers';
import { ColumnObject } from 'src/views/CRUD/data/dataset/types';
import { useListViewResource } from 'src/views/CRUD/hooks';
import ConfirmStatusChange from 'src/components/ConfirmStatusChange';
@@ -60,7 +57,6 @@ import { isFeatureEnabled, FeatureFlag } from 'src/featureFlags';
import WarningIconWithTooltip from 'src/components/WarningIconWithTooltip';
import { isUserAdmin } from 'src/dashboard/util/permissionUtils';
import { GenericLink } from 'src/components/GenericLink/GenericLink';
-import AddDatasetModal from './AddDatasetModal';
import {
PAGE_SIZE,
@@ -152,9 +148,6 @@ const DatasetList: FunctionComponent = ({
refreshData,
} = useListViewResource('dataset', t('dataset'), addDangerToast);
- const [datasetAddModalOpen, setDatasetAddModalOpen] =
- useState(false);
-
const [datasetCurrentlyDeleting, setDatasetCurrentlyDeleting] = useState<
(Dataset & { chart_count: number; dashboard_count: number }) | null
>(null);
@@ -191,12 +184,6 @@ const DatasetList: FunctionComponent = ({
hasPerm('can_export') && isFeatureEnabled(FeatureFlag.VERSIONED_EXPORT);
const initialSort = SORT_BY;
- useEffect(() => {
- const db = getItem(LocalStorageKeys.db, null);
- if (!loading && db) {
- setDatasetAddModalOpen(true);
- }
- }, [loading]);
const openDatasetEditModal = useCallback(
({ id }: Dataset) => {
@@ -603,26 +590,6 @@ const DatasetList: FunctionComponent = ({
});
}
- const CREATE_HASH = '#create';
- const location = useLocation();
- const history = useHistory();
-
- // Sync Dataset Add modal with #create hash
- useEffect(() => {
- const modalOpen = location.hash === CREATE_HASH && canCreate;
- setDatasetAddModalOpen(modalOpen);
- }, [canCreate, location.hash]);
-
- // Add #create hash
- const openDatasetAddModal = useCallback(() => {
- history.replace(`${location.pathname}${location.search}${CREATE_HASH}`);
- }, [history, location.pathname, location.search]);
-
- // Remove #create hash
- const closeDatasetAddModal = useCallback(() => {
- history.replace(`${location.pathname}${location.search}`);
- }, [history, location.pathname, location.search]);
-
if (canCreate) {
buttonArr.push({
name: (
@@ -630,7 +597,9 @@ const DatasetList: FunctionComponent = ({
{t('Dataset')}{' '}
>
),
- onClick: openDatasetAddModal,
+ onClick: () => {
+ window.location.href = '/dataset/add/';
+ },
buttonStyle: 'primary',
});
@@ -727,12 +696,6 @@ const DatasetList: FunctionComponent = ({
return (
<>
-
{datasetCurrentlyDeleting && (
(state => state.common.conf);
const [showDatabaseModal, setShowDatabaseModal] = useState(false);
- const [showDatasetModal, setShowDatasetModal] = useState(false);
const [engine, setEngine] = useState('');
const canSql = findPermission('can_sqllab', 'Superset', roles);
const canDashboard = findPermission('can_write', 'Dashboard', roles);
@@ -179,6 +177,7 @@ const RightMenu = ({
{
label: t('Create dataset'),
name: GlobalMenuDataOptions.DATASET_CREATION,
+ url: '/dataset/add/',
perm: canDataset && nonExamplesDBConnected,
},
{
@@ -286,8 +285,6 @@ const RightMenu = ({
} else if (itemChose.key === GlobalMenuDataOptions.GOOGLE_SHEETS) {
setShowDatabaseModal(true);
setEngine('Google Sheets');
- } else if (itemChose.key === GlobalMenuDataOptions.DATASET_CREATION) {
- setShowDatasetModal(true);
}
};
@@ -296,10 +293,6 @@ const RightMenu = ({
setShowDatabaseModal(false);
};
- const handleOnHideDatasetModalModal = () => {
- setShowDatasetModal(false);
- };
-
const isDisabled = isAdmin && !allowUploads;
const tooltipText = t(
@@ -344,7 +337,6 @@ const RightMenu = ({
);
const handleDatabaseAdd = () => setQuery({ databaseAdded: true });
- const handleDatasetAdd = () => setQuery({ datasetAdded: true });
const theme = useTheme();
@@ -358,13 +350,6 @@ const RightMenu = ({
onDatabaseAdd={handleDatabaseAdd}
/>
)}
- {canDataset && (
-
- )}
{environmentTag?.text && (
{loadTables && !refresh && Loader(TABLE_LOADING_TEXT)}
- {schema && !loadTables && !tableOptions.length && !searchVal && (
+ {dataset?.schema && !loadTables && !tableOptions.length && !searchVal && (
)}
- {schema && (tableOptions.length > 0 || searchVal.length > 0) && (
+ {dataset?.schema && (tableOptions.length > 0 || searchVal.length > 0) && (
<>