diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidget.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidget.interface.ts index a8c054cd788..3c12f739893 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidget.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidget.interface.ts @@ -11,6 +11,13 @@ * limitations under the License. */ +export interface DeleteOption { + title: string; + description: string; + type: DeleteType; + isAllowed: boolean; +} + export interface DeleteWidgetModalProps { visible: boolean; onCancel: () => void; @@ -24,6 +31,8 @@ export interface DeleteWidgetModalProps { entityId?: string; prepareType?: boolean; isRecursiveDelete?: boolean; + successMessage?: string; + deleteOptions?: DeleteOption[]; afterDeleteAction?: (isSoftDelete?: boolean) => void; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidgetModal.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidgetModal.tsx index ae09d242488..8643ad837ce 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidgetModal.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/DeleteWidget/DeleteWidgetModal.tsx @@ -54,6 +54,8 @@ const DeleteWidgetModal = ({ prepareType = true, isRecursiveDelete, afterDeleteAction, + successMessage, + deleteOptions, }: DeleteWidgetModalProps) => { const { t } = useTranslation(); const [entityDeleteState, setEntityDeleteState] = @@ -123,9 +125,10 @@ const DeleteWidgetModal = ({ if (response.status === 200) { showSuccessToast( - t('server.entity-deleted-successfully', { - entity: startCase(entityType), - }) + successMessage ?? + t('server.entity-deleted-successfully', { + entity: startCase(entityType), + }) ); if (afterDeleteAction) { afterDeleteAction(entityDeleteState.softDelete); @@ -217,7 +220,7 @@ const DeleteWidgetModal = ({ title={`${t('label.delete')} ${entityName}`} onCancel={handleOnEntityDeleteCancel}> - {DELETE_OPTION.map( + {(deleteOptions ?? DELETE_OPTION).map( (option) => option.isAllowed && ( Promise; allowRename?: boolean; prepareType?: boolean; + successMessage?: string; + deleteButtonDescription?: string; + deleteOptions?: DeleteOption[]; } const ManageButton: FC = ({ @@ -77,6 +81,9 @@ const ManageButton: FC = ({ onEditDisplayName, allowRename, prepareType = true, + successMessage, + deleteButtonDescription, + deleteOptions, }) => { const { t } = useTranslation(); const [isDelete, setIsDelete] = useState(false); @@ -199,12 +206,12 @@ const ManageButton: FC = ({ { label: ( = ({ afterDeleteAction={afterDeleteAction} allowSoftDelete={allowSoftDelete} deleteMessage={deleteMessage} + deleteOptions={deleteOptions} entityId={entityId || ''} entityName={entityName || ''} entityType={entityType || ''} @@ -261,6 +269,7 @@ const ManageButton: FC = ({ isRecursiveDelete={isRecursiveDelete} prepareType={prepareType} softDeleteMessagePostFix={softDeleteMessagePostFix} + successMessage={successMessage} visible={isDelete} onCancel={() => setIsDelete(false)} />