reset active tab on open (#12048)

This commit is contained in:
Moriah Kreeger 2020-12-16 14:38:29 -08:00 committed by GitHub
parent 69185eed67
commit 8d29381446
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 1 deletions

View File

@ -39,6 +39,8 @@ interface DatabaseModalProps {
database?: DatabaseObject | null; // If included, will go into edit mode
}
const DEFAULT_TAB_KEY = '1';
const StyledIcon = styled(Icon)`
margin: auto ${({ theme }) => theme.gridUnit * 2}px auto 0;
`;
@ -129,6 +131,7 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
const [disableSave, setDisableSave] = useState<boolean>(true);
const [db, setDB] = useState<DatabaseObject | null>(null);
const [isHidden, setIsHidden] = useState<boolean>(true);
const [tabKey, setTabKey] = useState<string>(DEFAULT_TAB_KEY);
const isEditMode = database !== null;
const defaultExtra =
@ -291,12 +294,14 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
) {
if (database && database.id !== null && !dbLoading) {
const id = database.id || 0;
setTabKey(DEFAULT_TAB_KEY);
fetchResource(id).then(() => {
setDB(dbFetched);
});
}
} else if (!isEditMode && (!db || db.id || (isHidden && show))) {
setTabKey(DEFAULT_TAB_KEY);
setDB({
database_name: '',
sqlalchemy_uri: '',
@ -313,6 +318,10 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
setIsHidden(false);
}
const tabChange = (key: string) => {
setTabKey(key);
};
return (
<Modal
name="database"
@ -330,7 +339,11 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
</h4>
}
>
<Tabs defaultActiveKey="1">
<Tabs
defaultActiveKey={DEFAULT_TAB_KEY}
activeKey={tabKey}
onTabClick={tabChange}
>
<Tabs.TabPane
tab={
<span>