You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ly...@apache.org on 2023/01/19 16:35:59 UTC
[superset] 05/21: Change all add dataset entrances to use new create page
This is an automated email from the ASF dual-hosted git repository.
lyndsi pushed a commit to branch lyndsi/enable-dataset-creation
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 95d7e9095714bc82015f2c9a5c71aff6b7ec6218
Author: lyndsiWilliams <kc...@gmail.com>
AuthorDate: Tue Jan 3 15:49:55 2023 -0600
Change all add dataset entrances to use new create page
---
.../explore/components/DatasourcePanel/index.tsx | 4 +-
.../src/explore/components/ExploreChartPanel.jsx | 4 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 2 +-
.../MetricControl/AdhocMetricEditPopover/index.jsx | 2 +-
.../src/pages/ChartCreation/index.tsx | 5 +--
.../CRUD/data/database/DatabaseModal/index.tsx | 2 +-
.../src/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 dedffc1044..e24d1100ac 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({
<span
role="button"
tabIndex={0}
- onClick={() => 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 03cda337bb..ac9de71682 100644
--- a/superset-frontend/src/explore/components/ExploreChartPanel.jsx
+++ b/superset-frontend/src/explore/components/ExploreChartPanel.jsx
@@ -324,7 +324,9 @@ const ExploreChartPanel = ({
<span
role="button"
tabIndex={0}
- onClick={() => 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 fee2eb941f..6ea5dbbb90 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 f49eb5b4f7..f749a5d09f 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 4aeb7aeed4..bea530fd3a 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 ? (
<span data-test="dataset-write">
- <Link
- to="/tablemodelview/list/#create"
- data-test="add-chart-new-dataset"
- >
+ <Link to="/dataset/add/" data-test="add-chart-new-dataset">
{t('Add a dataset')}
</Link>
{` ${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 603f449fec..c3500839d7 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
@@ -1295,7 +1295,7 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
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 68c65a7ad1..7c73b54339 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<DatasetListProps> = ({
refreshData,
} = useListViewResource<Dataset>('dataset', t('dataset'), addDangerToast);
- const [datasetAddModalOpen, setDatasetAddModalOpen] =
- useState<boolean>(false);
-
const [datasetCurrentlyDeleting, setDatasetCurrentlyDeleting] = useState<
(Dataset & { chart_count: number; dashboard_count: number }) | null
>(null);
@@ -191,12 +184,6 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
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<DatasetListProps> = ({
});
}
- 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<DatasetListProps> = ({
<i className="fa fa-plus" /> {t('Dataset')}{' '}
</>
),
- onClick: openDatasetAddModal,
+ onClick: () => {
+ window.location.href = '/dataset/add/';
+ },
buttonStyle: 'primary',
});
@@ -727,12 +696,6 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
return (
<>
<SubMenu {...menuData} />
- <AddDatasetModal
- show={datasetAddModalOpen}
- onHide={closeDatasetAddModal}
- onDatasetAdd={refreshData}
- history={history}
- />
{datasetCurrentlyDeleting && (
<DeleteModal
description={t(
diff --git a/superset-frontend/src/views/components/RightMenu.tsx b/superset-frontend/src/views/components/RightMenu.tsx
index 59e7f7f448..1957060502 100644
--- a/superset-frontend/src/views/components/RightMenu.tsx
+++ b/superset-frontend/src/views/components/RightMenu.tsx
@@ -51,7 +51,6 @@ import {
GlobalMenuDataOptions,
RightMenuProps,
} from './types';
-import AddDatasetModal from '../CRUD/data/dataset/AddDatasetModal';
const extensionsRegistry = getExtensionsRegistry();
@@ -143,7 +142,6 @@ const RightMenu = ({
HAS_GSHEETS_INSTALLED,
} = useSelector<any, ExtentionConfigs>(state => state.common.conf);
const [showDatabaseModal, setShowDatabaseModal] = useState<boolean>(false);
- const [showDatasetModal, setShowDatasetModal] = useState<boolean>(false);
const [engine, setEngine] = useState<string>('');
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 && (
- <AddDatasetModal
- onHide={handleOnHideDatasetModalModal}
- show={showDatasetModal}
- onDatasetAdd={handleDatasetAdd}
- />
- )}
{environmentTag?.text && (
<Label
css={{ borderRadius: `${theme.gridUnit * 125}px` }}
diff --git a/superset/views/datasource/views.py b/superset/views/datasource/views.py
index c2db174cb1..4f158e8369 100644
--- a/superset/views/datasource/views.py
+++ b/superset/views/datasource/views.py
@@ -228,10 +228,7 @@ class DatasetEditor(BaseSupersetView):
@has_access
@permission_name("read")
def root(self) -> FlaskResponse:
- dev = request.args.get("testing")
- if dev is not None:
- return super().render_app_template()
- return redirect("/")
+ return super().render_app_template()
@expose("/<pk>", methods=["GET"])
@has_access