From 6105fe339cfa08affde3e37e66206238acc83bc3 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Mon, 17 Dec 2018 16:41:29 +0100 Subject: [PATCH] SONAR-11329 update rendeing of project breadcrumbs --- .../nav/component/ComponentNavHeader.tsx | 28 ++++++---- .../ComponentNavHeader-test.tsx.snap | 51 ++++--------------- 2 files changed, 28 insertions(+), 51 deletions(-) diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx index ac4bc1690c6..e634f80cfef 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavHeader.tsx @@ -30,6 +30,7 @@ import { sanitizeAlmId } from '../../../../helpers/almIntegrations'; import { collapsePath } from '../../../../helpers/path'; import { getProjectUrl, getBaseUrl } from '../../../../helpers/urls'; import { isSonarCloud } from '../../../../helpers/system'; +import { isMainBranch } from '../../../../helpers/branches'; interface StateProps { organization?: T.Organization; @@ -42,7 +43,7 @@ interface OwnProps { location?: any; } -interface Props extends StateProps, OwnProps {} +type Props = StateProps & OwnProps; export function ComponentNavHeader(props: Props) { const { component, organization } = props; @@ -65,7 +66,10 @@ export function ComponentNavHeader(props: Props) { )} - {renderBreadcrumbs(component.breadcrumbs)} + {renderBreadcrumbs( + component.breadcrumbs, + props.currentBranchLike !== undefined && !isMainBranch(props.currentBranchLike) + )} {isSonarCloud() && component.alm && ( { const isPath = item.qualifier === 'DIR'; @@ -104,12 +108,18 @@ function renderBreadcrumbs(breadcrumbs: T.Breadcrumb[]) { return ( {index === 0 && } - - {itemName} - + {shouldLinkLast || index < breadcrumbs.length - 1 ? ( + + {itemName} + + ) : ( + + {itemName} + + )} {index < breadcrumbs.length - 1 && } ); diff --git a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavHeader-test.tsx.snap b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavHeader-test.tsx.snap index d45945ae01e..eea61301c22 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavHeader-test.tsx.snap +++ b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavHeader-test.tsx.snap @@ -11,23 +11,12 @@ exports[`should not render breadcrumbs with one element 1`] = ` className="spacer-right" qualifier="TRK" /> - My Project - + `; @@ -73,23 +62,12 @@ exports[`should render alm links 1`] = ` className="spacer-right" qualifier="TRK" /> - My Project - + - My Project - + `; -- 2.39.5