Skip to content

Commit

Permalink
Better solution for top nav create dataset disabled bug
Browse files Browse the repository at this point in the history
  • Loading branch information
lyndsiWilliams committed Jan 27, 2023
1 parent 0923101 commit fe50a1f
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions superset-frontend/src/views/components/RightMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import { isUserAdmin } from 'src/dashboard/util/permissionUtils';
import {
MenuObjectProps,
UserWithPermissionsAndRoles,
MenuObjectChildProps,
} from 'src/types/bootstrapTypes';
import { RootState } from 'src/dashboard/types';
import LanguagePicker from './LanguagePicker';
Expand Down Expand Up @@ -190,18 +191,21 @@ const RightMenu = ({
name: 'Upload a CSV',
url: '/csvtodatabaseview/form',
perm: canUploadCSV && showUploads,
disable: isAdmin && !allowUploads,
},
{
label: t('Upload columnar file to database'),
name: 'Upload a Columnar file',
url: '/columnartodatabaseview/form',
perm: canUploadColumnar && showUploads,
disable: isAdmin && !allowUploads,
},
{
label: t('Upload Excel file to database'),
name: 'Upload Excel',
url: '/exceltodatabaseview/form',
perm: canUploadExcel && showUploads,
disable: isAdmin && !allowUploads,
},
],
},
Expand Down Expand Up @@ -293,16 +297,12 @@ const RightMenu = ({
setShowDatabaseModal(false);
};

const isDisabled = isAdmin && !allowUploads;

const tooltipText = t(
"Enable 'Allow file uploads to database' in any database's settings",
);

const buildMenuItem = (item: Record<string, any>) => {
const disabledText =
isDisabled && item.url && !item.url.includes('dataset');
return disabledText ? (
const buildMenuItem = (item: MenuObjectChildProps) =>
item.disable ? (
<Menu.Item key={item.name} css={styledDisabled}>
<Tooltip placement="top" title={tooltipText}>
{item.label}
Expand All @@ -313,7 +313,6 @@ const RightMenu = ({
{item.url ? <a href={item.url}> {item.label} </a> : item.label}
</Menu.Item>
);
};

const onMenuOpen = (openKeys: string[]) => {
// We should query the API only if opening Data submenus
Expand Down

0 comments on commit fe50a1f

Please sign in to comment.