diff --git a/portal/src/BlockerDialog.tsx b/portal/src/BlockerDialog.tsx index e1b95c534ca..76da39ac8f9 100644 --- a/portal/src/BlockerDialog.tsx +++ b/portal/src/BlockerDialog.tsx @@ -1,23 +1,14 @@ -import React, { useContext, useMemo } from "react"; -import { - IDialogContentProps, - Dialog, - DialogType, - DialogFooter, - IDialogProps, - IButtonProps, -} from "@fluentui/react"; -import PrimaryButton from "./PrimaryButton"; -import DefaultButton from "./DefaultButton"; -import { Context, FormattedMessage } from "./intl"; -import { useSystemConfig } from "./context/SystemConfigContext"; +import React from "react"; +import { FormattedMessage } from "./intl"; +import { ConfirmationDialog } from "./components/v2/ConfirmationDialog/ConfirmationDialog"; -export interface BlockerDialogProps extends IDialogProps { +export interface BlockerDialogProps { + open: boolean; contentTitleId: string; contentSubTextId: string; contentConfirmId?: string; contentCancelId?: string; - onDialogConfirm?: IButtonProps["onClick"]; + onDialogConfirm?: () => void; onDialogDismiss?: () => void; } @@ -25,45 +16,31 @@ const BlockerDialog: React.VFC = function BlockerDialog( props ) { const { + open, contentTitleId, contentSubTextId, contentConfirmId, contentCancelId, onDialogConfirm, onDialogDismiss, - ...rest } = props; - const { themes } = useSystemConfig(); - const { renderToString } = useContext(Context); - - const dialogContentProps: IDialogContentProps = useMemo( - () => ({ - type: DialogType.normal, - title: , - subText: renderToString(contentSubTextId), - }), - [renderToString, contentTitleId, contentSubTextId] - ); - return ( - - - } - /> - } - /> - - + { + if (!isOpen) { + onDialogDismiss?.(); + } + }} + title={} + description={} + confirmText={} + cancelText={} + confirmColor="red" + onConfirm={() => onDialogConfirm?.()} + onCancel={() => onDialogDismiss?.()} + /> ); }; diff --git a/portal/src/FormContainer.tsx b/portal/src/FormContainer.tsx index cf0848317d1..c6d6f4574be 100644 --- a/portal/src/FormContainer.tsx +++ b/portal/src/FormContainer.tsx @@ -1,10 +1,9 @@ -import React, { useCallback, useContext, useMemo, useState } from "react"; -import { Dialog, DialogFooter, Spinner, SpinnerSize } from "@fluentui/react"; +import React, { useCallback, useContext, useState } from "react"; +import { Spinner, SpinnerSize } from "@fluentui/react"; import { Context, FormattedMessage } from "./intl"; import { useSystemConfig } from "./context/SystemConfigContext"; import { FormErrorMessageBar } from "./FormErrorMessageBar"; import PrimaryButton from "./PrimaryButton"; -import DefaultButton from "./DefaultButton"; import DefaultLayout from "./DefaultLayout"; import { FormContainerBase, @@ -13,6 +12,7 @@ import { } from "./FormContainerBase"; import ActionButton from "./ActionButton"; import styles from "./FormContainer.module.css"; +import { ConfirmationDialog } from "./components/v2/ConfirmationDialog/ConfirmationDialog"; export interface SaveButtonProps { labelId: string; @@ -60,13 +60,6 @@ const FormContainer_: React.VFC = function FormContainer_( setTimeout(() => setIsResetDialogVisible(false), 0); }, [onReset]); - const resetDialogContentProps = useMemo(() => { - return { - title: , - subText: renderToString("FormContainer.reset-dialog.message"), - }; - }, [renderToString]); - return ( <> = function FormContainer_( {props.children} - + { + if (!open) { + onDismissResetDialog(); + } + }} + title={} + description={ + + } + confirmText={ + + } + cancelText={} + confirmColor="red" + onConfirm={doReset} + onCancel={onDismissResetDialog} + /> ); }; diff --git a/portal/src/NavigationBlockerDialog.tsx b/portal/src/NavigationBlockerDialog.tsx index 58433b8d214..6f141082bad 100644 --- a/portal/src/NavigationBlockerDialog.tsx +++ b/portal/src/NavigationBlockerDialog.tsx @@ -64,7 +64,7 @@ const NavigationBlockerDialog: React.VFC = return (