From 81400607613b2a4a2bb4bcee875eb39c805b77c1 Mon Sep 17 00:00:00 2001 From: 7PH Date: Thu, 1 Jun 2023 10:09:39 +0200 Subject: [PATCH] SONAR-19391 Measures page's header for the source viewer should be moved to the new UI --- .../design-system/src/components/Breadcrumbs.tsx | 3 +++ .../src/components/__tests__/TreeMap-test.tsx | 2 +- .../component-measures/components/MeasureContent.tsx | 1 + .../components/MeasureOverview.tsx | 1 + .../components/MeasuresBreadcrumbs.tsx | 12 +++++++++--- .../main/js/components/SourceViewer/SourceViewer.tsx | 4 +++- 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/server/sonar-web/design-system/src/components/Breadcrumbs.tsx b/server/sonar-web/design-system/src/components/Breadcrumbs.tsx index 056cde51d59..be9238b0222 100644 --- a/server/sonar-web/design-system/src/components/Breadcrumbs.tsx +++ b/server/sonar-web/design-system/src/components/Breadcrumbs.tsx @@ -38,6 +38,7 @@ import { ChevronDownIcon, ChevronRightIcon } from './icons'; const WIDTH_OF_BREADCRUMB_DROPDOWN = 32; interface Props { + actions?: React.ReactNode; ariaLabel?: string; breadcrumbLimit?: number; children: React.ReactNode; @@ -55,6 +56,7 @@ export function Breadcrumbs(props: Props) { children, expandButtonLabel, innerRef, + actions, maxWidth = LAYOUT_VIEWPORT_MAX_WIDTH_LARGE, } = props; const [lengthOfChildren, setLengthOfChildren] = React.useState([]); @@ -160,6 +162,7 @@ export function Breadcrumbs(props: Props) { )} + {actions &&
{actions}
} ); } diff --git a/server/sonar-web/design-system/src/components/__tests__/TreeMap-test.tsx b/server/sonar-web/design-system/src/components/__tests__/TreeMap-test.tsx index 645d1499ea6..1f0121c3b18 100644 --- a/server/sonar-web/design-system/src/components/__tests__/TreeMap-test.tsx +++ b/server/sonar-web/design-system/src/components/__tests__/TreeMap-test.tsx @@ -53,7 +53,7 @@ it('should render correctly and forward click event', async () => { expect(container).toMatchSnapshot(); - await user.click(screen.getByText('SonarQube_Web')); + await user.click(screen.getByRole('link', { name: 'SonarQube_Web' })); expect(onRectangleClick).toHaveBeenCalledTimes(1); expect(onRectangleClick).toHaveBeenCalledWith(items[1]); }); diff --git a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx index 5f241e9e2c4..aca949a8c60 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx +++ b/server/sonar-web/src/main/js/apps/component-measures/components/MeasureContent.tsx @@ -405,6 +405,7 @@ export default class MeasureContent extends React.PureComponent { {isFileComponent ? (
{ return (
+ } > {breadcrumbs.map((component) => ( { render() { const { component, loading, sources, notAccessible, sourceRemoved } = this.state; + const { hideHeader } = this.props; if (loading) { return null; @@ -588,7 +590,7 @@ export default class SourceViewer extends React.PureComponent { return (
- {this.renderHeader(component)} + {!hideHeader && this.renderHeader(component)} {sourceRemoved && ( {translate('code_viewer.no_source_code_displayed_due_to_source_removed')} -- 2.39.5