diff --git a/superset-frontend/src/components/Modal/Modal.tsx b/superset-frontend/src/components/Modal/Modal.tsx index 9e53589d8321a..389982cc22021 100644 --- a/superset-frontend/src/components/Modal/Modal.tsx +++ b/superset-frontend/src/components/Modal/Modal.tsx @@ -34,6 +34,7 @@ export interface ModalProps { className?: string; children: React.ReactNode; disablePrimaryButton?: boolean; + primaryButtonLoading?: boolean; onHide: () => void; onHandledPrimaryAction?: () => void; primaryButtonName?: string; @@ -190,6 +191,7 @@ export const StyledModal = styled(BaseModal)` const CustomModal = ({ children, disablePrimaryButton = false, + primaryButtonLoading = false, onHide, onHandledPrimaryAction, primaryButtonName = t('OK'), @@ -240,6 +242,7 @@ const CustomModal = ({ key="submit" buttonStyle={primaryButtonType} disabled={disablePrimaryButton} + loading={primaryButtonLoading} onClick={onHandledPrimaryAction} cta data-test="modal-confirm-button" diff --git a/superset-frontend/src/views/CRUD/data/dataset/AddDatasetModal.tsx b/superset-frontend/src/views/CRUD/data/dataset/AddDatasetModal.tsx index dca78a60ec68e..e24954077f1e7 100644 --- a/superset-frontend/src/views/CRUD/data/dataset/AddDatasetModal.tsx +++ b/superset-frontend/src/views/CRUD/data/dataset/AddDatasetModal.tsx @@ -57,7 +57,10 @@ const DatasetModal: FunctionComponent = ({ const [currentSchema, setSchema] = useState(''); const [currentTableName, setTableName] = useState(''); const [disableSave, setDisableSave] = useState(true); - const { createResource } = useSingleViewResource>( + const { + createResource, + state: { loading }, + } = useSingleViewResource>( 'dataset', t('dataset'), addDangerToast, @@ -115,6 +118,7 @@ const DatasetModal: FunctionComponent = ({ return (