diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/ModalHeader.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/ModalHeader.tsx index f13e1b734d13..2537d2fcc654 100644 --- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/ModalHeader.tsx +++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/ModalHeader.tsx @@ -64,7 +64,8 @@ const ModalHeader = ({ dbModel, editNewDb, file, -}: { +}: // importingModel, +{ isLoading: boolean; isEditMode: boolean; useSqlAlchemyForm: boolean; @@ -76,6 +77,7 @@ const ModalHeader = ({ file?: UploadFile[]; passwordFields?: string[]; needsOverwriteConfirm?: boolean; + // importingModel?: boolean; }) => { const isEditHeader = ( @@ -152,17 +154,19 @@ const ModalHeader = ({ ); + const fileCheck = file && file?.length > 0; + const importDbHeader = (

STEP 2 OF 2

Enter the required {dbModel.name} credentials

-

{file ? file[0].name : ''}

+

{fileCheck ? file[0].name : ''}

); - if (file && !hasConnectedDb) return importDbHeader; + if (fileCheck) return importDbHeader; if (isLoading) return <>; if (isEditMode) return isEditHeader; if (useSqlAlchemyForm) return useSqlAlchemyFormHeader; 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 3bc18a28f5d9..c9b2dc467059 100644 --- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx +++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx @@ -538,16 +538,9 @@ const DatabaseModal: FunctionComponent = ({ console.log('findme STATE', alreadyExists, passwordsNeeded); - const blankFile = { - lastModified: 0, - lastModifiedDate: undefined, - name: '', - originFileObj: undefined, - percent: 0, - size: 0, - status: undefined, - type: '', - uid: '', + const removeFile = (removedFile: UploadFile) => { + setFile(file.filter(file => file.uid !== removedFile.uid)); + return false; }; const onClose = () => { @@ -556,7 +549,7 @@ const DatabaseModal: FunctionComponent = ({ setValidationErrors(null); // reset validation errors on close clearError(); setEditNewDb(false); - setFile([blankFile]); + setFile([]); setPasswordFields([]); setNeedsOverwriteConfirm(false); setImportingModel(false); @@ -940,6 +933,7 @@ const DatabaseModal: FunctionComponent = ({ }, [passwordsNeeded, setPasswordFields]); useEffect(() => { + console.log('findme UE', needsOverwriteConfirm, alreadyExists); setNeedsOverwriteConfirm(alreadyExists.length > 0); }, [alreadyExists, setNeedsOverwriteConfirm]); @@ -999,7 +993,8 @@ const DatabaseModal: FunctionComponent = ({ }; const confirmOverwriteField = () => { - if (!needsOverwriteConfirm) return null; + console.log('findme AE', alreadyExists); + if (alreadyExists.length === 0) return null; return ( <> @@ -1180,10 +1175,7 @@ const DatabaseModal: FunctionComponent = ({ console.log('findme importing', importingModel); - if ( - importingModel && - (passwordsNeeded.length > 0 || alreadyExists.length > 0) - ) { + if (file.length > 0 && importingModel) { return ( [ @@ -1225,6 +1217,7 @@ const DatabaseModal: FunctionComponent = ({ dbName={dbName} dbModel={dbModel} file={file} + // importingModal={importingModel} /> {passwordNeededField()} {confirmOverwriteField()} @@ -1480,6 +1473,7 @@ const DatabaseModal: FunctionComponent = ({ // upload is handled by hook customRequest={() => {}} onChange={info => onDbImport(info)} + onRemove={removeFile} >