diff --git a/src/DetailsView/components/assessment-instance-selected-button.tsx b/src/DetailsView/components/assessment-instance-selected-button.tsx index 31033846a31..a0b562f4db1 100644 --- a/src/DetailsView/components/assessment-instance-selected-button.tsx +++ b/src/DetailsView/components/assessment-instance-selected-button.tsx @@ -45,7 +45,7 @@ export class AssessmentInstanceSelectedButton extends React.Component ); diff --git a/src/DetailsView/components/details-view-command-bar.tsx b/src/DetailsView/components/details-view-command-bar.tsx index c1ff5eb7ce2..2d9fe14e8ac 100644 --- a/src/DetailsView/components/details-view-command-bar.tsx +++ b/src/DetailsView/components/details-view-command-bar.tsx @@ -25,6 +25,7 @@ import { LoadAssessmentDialogDeps, } from 'DetailsView/components/load-assessment-dialog'; import { NarrowModeStatus } from 'DetailsView/components/narrow-mode-detector'; +import { QuickAssessToAssessmentDialog } from 'DetailsView/components/quick-assess-to-assessment-dialog'; import { ReportExportButton } from 'DetailsView/components/report-export-button'; import { ReportExportDialogFactoryDeps, @@ -48,6 +49,7 @@ import { TransferToAssessmentButtonDeps, TransferToAssessmentButtonProps, } from 'DetailsView/components/transfer-to-assessment-button'; +import { DataTransferViewStoreData } from 'DetailsView/data-transfer-view-store'; import * as React from 'react'; import { ReportGenerator } from 'reports/report-generator'; import { AssessmentStoreData } from '../../common/types/store-data/assessment-result-data'; @@ -105,6 +107,7 @@ export interface DetailsViewCommandBarProps { tabStopRequirementData: TabStopRequirementState; userConfigurationStoreData: UserConfigurationStoreData; featureFlagStoreData: FeatureFlagStoreData; + dataTransferViewStoreData: DataTransferViewStoreData; } export class DetailsViewCommandBar extends React.Component< DetailsViewCommandBarProps, @@ -112,6 +115,7 @@ export class DetailsViewCommandBar extends React.Component< > { public exportDialogCloseFocus?: IButton; public startOverDialogCloseFocus?: IButton; + public transferToAssessmentDialogCloseFocus?: IButton; public constructor(props) { super(props); @@ -119,6 +123,7 @@ export class DetailsViewCommandBar extends React.Component< isInvalidLoadAssessmentDialogOpen: false, isLoadAssessmentDialogOpen: false, isReportExportDialogOpen: false, + isMoveToAssessmentDialogOpen: false, loadedAssessmentData: {} as VersionedAssessmentData, startOverDialogState: 'none', }; @@ -137,6 +142,7 @@ export class DetailsViewCommandBar extends React.Component< {this.renderInvalidLoadAssessmentDialog()} {this.renderLoadAssessmentDialog()} {this.renderStartOverDialog()} + {this.renderTransferToAssessmentDialog()} ); } @@ -208,6 +214,7 @@ export class DetailsViewCommandBar extends React.Component< buttonRef={ref => { this.exportDialogCloseFocus = ref ?? undefined; this.startOverDialogCloseFocus = ref ?? undefined; + this.transferToAssessmentDialogCloseFocus = ref ?? undefined; }} /> ); @@ -219,6 +226,9 @@ export class DetailsViewCommandBar extends React.Component< private focusReportExportButton = () => this.exportDialogCloseFocus?.focus(); + private focusTransferToAssessmentButton = () => + this.transferToAssessmentDialogCloseFocus?.focus(); + private renderExportButton = () => { const shouldShowReportExportButtonProps: ShouldShowReportExportButtonProps = { visualizationConfigurationFactory: this.props.visualizationConfigurationFactory, @@ -256,16 +266,29 @@ export class DetailsViewCommandBar extends React.Component< }); }; - private renderLoadAssessmentButton = (): JSX.Element | null => { - return this.props.switcherNavConfiguration.LoadAssessmentButton({ + private renderTransferToAssessmentButton = (): JSX.Element | null => { + return this.props.switcherNavConfiguration.TransferToAssessmentButton({ ...this.props, - handleLoadAssessmentButtonClick: this.handleLoadAssessmentButtonClick, + buttonRef: ref => (this.transferToAssessmentDialogCloseFocus = ref ?? undefined), }); }; - private renderTransferToAssessmentButton = (): JSX.Element | null => { - return this.props.switcherNavConfiguration.TransferToAssessmentButton({ + private renderTransferToAssessmentDialog(): JSX.Element { + return ( + + ); + } + + private renderLoadAssessmentButton = (): JSX.Element | null => { + return this.props.switcherNavConfiguration.LoadAssessmentButton({ ...this.props, + handleLoadAssessmentButtonClick: this.handleLoadAssessmentButtonClick, }); }; diff --git a/src/DetailsView/components/quick-assess-to-assessment-dialog.tsx b/src/DetailsView/components/quick-assess-to-assessment-dialog.tsx index 6fbf6963163..8127edcabc9 100644 --- a/src/DetailsView/components/quick-assess-to-assessment-dialog.tsx +++ b/src/DetailsView/components/quick-assess-to-assessment-dialog.tsx @@ -17,6 +17,7 @@ export type QuickAssessToAssessmentDialogDeps = { export interface QuickAssessToAssessmentDialogProps { deps: QuickAssessToAssessmentDialogDeps; isShown: boolean; + afterDialogDismissed: () => void; } export const continueToAssessmentButtonAutomationId = 'continue-to-assessment-button'; @@ -29,7 +30,10 @@ export const QuickAssessToAssessmentDialog = NamedFC; } export const transferToAssessmentButtonAutomationId = 'transfer-to-assessment-button'; @@ -26,6 +28,7 @@ export const TransferToAssessmentButton = NamedFC Move to assessment diff --git a/src/DetailsView/details-view-body.tsx b/src/DetailsView/details-view-body.tsx index 1e866d1fb8b..29a85c0333c 100644 --- a/src/DetailsView/details-view-body.tsx +++ b/src/DetailsView/details-view-body.tsx @@ -11,10 +11,7 @@ import { FluentSideNav, FluentSideNavDeps } from 'DetailsView/components/left-na import { NarrowModeStatus } from 'DetailsView/components/narrow-mode-detector'; import { OverviewHeadingIntroFactory } from 'DetailsView/components/overview-content/overview-heading-intro'; import { OverviewHelpSectionAboutFactory } from 'DetailsView/components/overview-content/overview-help-section-about'; -import { - QuickAssessToAssessmentDialog, - QuickAssessToAssessmentDialogDeps, -} from 'DetailsView/components/quick-assess-to-assessment-dialog'; +import { QuickAssessToAssessmentDialogDeps } from 'DetailsView/components/quick-assess-to-assessment-dialog'; import { TabStopsViewStoreData } from 'DetailsView/components/tab-stops/tab-stops-view-store-data'; import { TestViewContainerProvider } from 'DetailsView/components/test-view-container-provider'; import { DataTransferViewStoreData } from 'DetailsView/data-transfer-view-store'; @@ -103,7 +100,6 @@ export class DetailsViewBody extends React.Component {
{this.getTargetPageHiddenBar()}
- {this.renderQuickAssessToAssessmentDialog()} {this.renderRightPanel()}
@@ -149,15 +145,4 @@ export class DetailsViewBody extends React.Component { private renderRightPanel(): JSX.Element { return ; } - - private renderQuickAssessToAssessmentDialog(): JSX.Element { - return ( - - ); - } } diff --git a/src/tests/unit/tests/DetailsView/__snapshots__/details-view-body.test.tsx.snap b/src/tests/unit/tests/DetailsView/__snapshots__/details-view-body.test.tsx.snap index 5f3846a2dd2..24202878792 100644 --- a/src/tests/unit/tests/DetailsView/__snapshots__/details-view-body.test.tsx.snap +++ b/src/tests/unit/tests/DetailsView/__snapshots__/details-view-body.test.tsx.snap @@ -61,12 +61,7 @@ exports[`DetailsViewBody render render 1`] = `
- -
+ /> @@ -1908,15 +1903,6 @@ exports[`DetailsViewBody render render: QuickAssessCommandBar props 1`] = ` } `; -exports[`DetailsViewBody render render: QuickAssessToAssessmentConfirmDialog props 1`] = ` -{ - "deps": { - "detailsViewActionMessageCreator": {}, - }, - "isShown": true, -} -`; - exports[`DetailsViewBody render render: TargetPageHiddenBar props 1`] = ` { "isTargetPageHidden": false, diff --git a/src/tests/unit/tests/DetailsView/components/__snapshots__/assessment-instance-selected-button.test.tsx.snap b/src/tests/unit/tests/DetailsView/components/__snapshots__/assessment-instance-selected-button.test.tsx.snap index 4389b81e68d..464e8c6fef6 100644 --- a/src/tests/unit/tests/DetailsView/components/__snapshots__/assessment-instance-selected-button.test.tsx.snap +++ b/src/tests/unit/tests/DetailsView/components/__snapshots__/assessment-instance-selected-button.test.tsx.snap @@ -3,8 +3,8 @@ exports[`AssessmentInstanceSelectedButton render when element is not selected and is not visible 1`] = ` `; @@ -244,6 +259,7 @@ exports[`DetailsViewCommandBar renders invalid load assessment dialog: invalid l /> + `; @@ -385,6 +415,7 @@ exports[`DetailsViewCommandBar renders load assessment dialog: load assessment d /> + `; @@ -526,6 +571,7 @@ exports[`DetailsViewCommandBar renders load assessment dialog: load assessment d /> + `; @@ -640,6 +700,7 @@ exports[`DetailsViewCommandBar renders report export dialog: export dialog hidde /> + `; @@ -753,6 +828,7 @@ exports[`DetailsViewCommandBar renders report export dialog: export dialog open /> + `; @@ -904,6 +994,7 @@ exports[`DetailsViewCommandBar renders start assessment over dialog: start asses /> + `; @@ -1052,6 +1157,7 @@ exports[`DetailsViewCommandBar renders start assessment over dialog: start asses /> + `; @@ -1203,6 +1323,7 @@ exports[`DetailsViewCommandBar renders start test over dialog: start test over d /> + `; @@ -1351,6 +1486,7 @@ exports[`DetailsViewCommandBar renders start test over dialog: start test over d /> + + + +`; + +exports[`DetailsViewCommandBar renders transfer to assessment dialog: transfer to assessment dialog hidden 1`] = ` + +
+
+ + Target page:  + + + + command-bar-test-tab-title + + +
+
+