aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2017-02-02 10:24:30 +0100
committerStas Vilchik <stas-vilchik@users.noreply.github.com>2017-02-02 13:32:25 +0100
commitb815ace63bf5ad05778734bcfab9a8191d164098 (patch)
tree362bfb75b80ae3c99c2673ce60fd20e165e2806f
parent4f604c496b27ed6491330729e3ea6422faf69db8 (diff)
downloadsonarqube-b815ace63bf5ad05778734bcfab9a8191d164098.tar.gz
sonarqube-b815ace63bf5ad05778734bcfab9a8191d164098.zip
fix display of organizations
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.css16
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.js1
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js37
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavBreadcrumbs-test.js.snap40
-rw-r--r--server/sonar-web/src/main/js/app/components/nav/templates/nav-search-item.hbs12
-rw-r--r--server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js11
-rw-r--r--server/sonar-web/src/main/js/apps/issues/templates/issues-workspace-list-component.hbs6
-rw-r--r--server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js12
-rw-r--r--server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigation-test.js.snap42
-rw-r--r--server/sonar-web/src/main/less/components/navbar.less31
-rw-r--r--server/sonar-web/src/main/less/init/misc.less4
11 files changed, 121 insertions, 91 deletions
diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.css b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.css
deleted file mode 100644
index 59d210c9534..00000000000
--- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.css
+++ /dev/null
@@ -1,16 +0,0 @@
-.navbar-context {
- position: static;
- padding: 0;
- height: 65px;
-}
-
-.navbar-context-inner {
- position: fixed;
- z-index: 420;
- left: 0;
- right: 0;
- height: 65px;
- padding-top: 5px;
- box-sizing: border-box;
- background-color: #f3f3f3;
-}
diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.js b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.js
index 303a45c6cc1..916dbe12726 100644
--- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.js
+++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.js
@@ -26,7 +26,6 @@ import RecentHistory from './RecentHistory';
import { TooltipsContainer } from '../../../../components/mixins/tooltips-mixin';
import { getTasksForComponent } from '../../../../api/ce';
import { STATUSES } from '../../../../apps/background-tasks/constants';
-import './ComponentNav.css';
export default React.createClass({
componentDidMount () {
diff --git a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js
index c787efb5bca..3f09a2c637b 100644
--- a/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js
+++ b/server/sonar-web/src/main/js/app/components/nav/component/ComponentNavBreadcrumbs.js
@@ -36,27 +36,40 @@ class ComponentNavBreadcrumbs extends React.Component {
return null;
}
- const items = breadcrumbs.map(item => {
+ const lastItem = breadcrumbs[breadcrumbs.length - 1];
+
+ const items = breadcrumbs.map((item, index) => {
return (
- <li key={item.key}>
- <Link to={{ pathname: '/dashboard', query: { id: item.key } }}>
- <QualifierIcon qualifier={item.qualifier}/>
- {' '}
- <strong>{item.name}</strong>
+ <span key={item.key}>
+ <Link to={{ pathname: '/dashboard', query: { id: item.key } }} className="link-base-color">
+ {index === breadcrumbs.length - 1 ? (
+ <strong>{item.name}</strong>
+ ) : (
+ <span>{item.name}</span>
+ )}
</Link>
- </li>
+ {index < breadcrumbs.length - 1 && (
+ <span className="slash-separator"/>
+ )}
+ </span>
);
});
return (
- <ul className="nav navbar-nav nav-crumbs">
+ <h2 className="navbar-context-title">
{organization != null && shouldOrganizationBeDisplayed && (
- <li>
- <OrganizationLink organization={organization}>{organization.name}</OrganizationLink>
- </li>
+ <span>
+ <span className="navbar-context-title-qualifier little-spacer-right">
+ <QualifierIcon qualifier={lastItem.qualifier}/>
+ </span>
+ <OrganizationLink organization={organization} className="link-base-color">
+ {organization.name}
+ </OrganizationLink>
+ <span className="slash-separator"/>
+ </span>
)}
{items}
- </ul>
+ </h2>
);
}
}
diff --git a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavBreadcrumbs-test.js.snap b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavBreadcrumbs-test.js.snap
index 19ad1cd2856..40c7c51d3b3 100644
--- a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavBreadcrumbs-test.js.snap
+++ b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/ComponentNavBreadcrumbs-test.js.snap
@@ -1,8 +1,9 @@
exports[`test should not render breadcrumbs with one element 1`] = `
-<ul
- className="nav navbar-nav nav-crumbs">
- <li>
+<h2
+ className="navbar-context-title">
+ <span>
<Link
+ className="link-base-color"
onlyActiveOnIndex={false}
style={Object {}}
to={
@@ -13,22 +14,25 @@ exports[`test should not render breadcrumbs with one element 1`] = `
},
}
}>
- <qualifier-icon
- qualifier="TRK" />
-
<strong>
My Project
</strong>
</Link>
- </li>
-</ul>
+ </span>
+</h2>
`;
exports[`test should render organization 1`] = `
-<ul
- className="nav navbar-nav nav-crumbs">
- <li>
+<h2
+ className="navbar-context-title">
+ <span>
+ <span
+ className="navbar-context-title-qualifier little-spacer-right">
+ <qualifier-icon
+ qualifier="TRK" />
+ </span>
<OrganizationLink
+ className="link-base-color"
organization={
Object {
"key": "foo",
@@ -37,9 +41,12 @@ exports[`test should render organization 1`] = `
}>
The Foo Organization
</OrganizationLink>
- </li>
- <li>
+ <span
+ className="slash-separator" />
+ </span>
+ <span>
<Link
+ className="link-base-color"
onlyActiveOnIndex={false}
style={Object {}}
to={
@@ -50,13 +57,10 @@ exports[`test should render organization 1`] = `
},
}
}>
- <qualifier-icon
- qualifier="TRK" />
-
<strong>
My Project
</strong>
</Link>
- </li>
-</ul>
+ </span>
+</h2>
`;
diff --git a/server/sonar-web/src/main/js/app/components/nav/templates/nav-search-item.hbs b/server/sonar-web/src/main/js/app/components/nav/templates/nav-search-item.hbs
index 890643d9237..185169fdbda 100644
--- a/server/sonar-web/src/main/js/app/components/nav/templates/nav-search-item.hbs
+++ b/server/sonar-web/src/main/js/app/components/nav/templates/nav-search-item.hbs
@@ -8,6 +8,12 @@
{{/notNull}}
<a href="{{this.url}}" data-title="{{name}}<br>{{key}}" data-toggle="tooltip">
+ {{#if organization}}
+ <div class="pull-right nowrap note">
+ {{organization.name}}
+ </div>
+ {{/if}}
+
{{#if icon}}<i class="icon-{{icon}} text-text-bottom"></i>{{/if}}
{{#if q}}{{qualifierIcon q}}{{/if}}
{{#eq q 'FIL'}}
@@ -19,10 +25,4 @@
{{name}}
{{/eq}}
{{/eq}}
-
- {{#if organization}}
- <div class="pull-right nowrap note">
- {{organization.name}}
- </div>
- {{/if}}
</a>
diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js
index c76ad724cbb..b72f02ed758 100644
--- a/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js
+++ b/server/sonar-web/src/main/js/apps/background-tasks/components/TaskComponent.js
@@ -47,15 +47,16 @@ export default class TaskComponent extends React.Component {
return (
<td>
+ <span className="little-spacer-right">
+ <QualifierIcon qualifier={task.componentQualifier}/>
+ </span>
+
{task.organization != null && (
<Organization organizationKey={task.organization}/>
)}
- <Link to={{ pathname: '/dashboard', query: { id: task.componentKey } }} className="link-with-icon">
- <span className="little-spacer-right">
- <QualifierIcon qualifier={task.componentQualifier}/>
- </span>
- <span>{task.componentName}</span>
+ <Link to={{ pathname: '/dashboard', query: { id: task.componentKey } }}>
+ {task.componentName}
</Link>
{types.length > 1 && (
diff --git a/server/sonar-web/src/main/js/apps/issues/templates/issues-workspace-list-component.hbs b/server/sonar-web/src/main/js/apps/issues/templates/issues-workspace-list-component.hbs
index cd604d2a4a6..f1c12ffb491 100644
--- a/server/sonar-web/src/main/js/apps/issues/templates/issues-workspace-list-component.hbs
+++ b/server/sonar-web/src/main/js/apps/issues/templates/issues-workspace-list-component.hbs
@@ -7,18 +7,18 @@
{{/notNull}}
<a class="link-no-underline" href="{{dashboardUrl project}}">
- <span class="little-spacer-right">{{qualifierIcon "TRK"}}</span>{{projectLongName}}
+ {{projectLongName}}
</a>
{{#if subProject}}
<span class="slash-separator"></span>
<a class="link-no-underline" href="{{dashboardUrl subProject}}">
- <span class="little-spacer-right">{{qualifierIcon "TRK"}}</span>{{subProjectLongName}}
+ {{subProjectLongName}}
</a>
{{/if}}
<span class="slash-separator"></span>
<a class="link-no-underline" href="{{dashboardUrl component}}">
- <span class="little-spacer-right">{{qualifierIcon componentQualifier}}</span>{{collapsePath componentLongName}}
+ {{collapsePath componentLongName}}
</a>
</div>
diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js
index a167596b06f..eff625b4fac 100644
--- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js
+++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigation.js
@@ -86,13 +86,11 @@ export default class OrganizationNavigation extends React.Component {
<nav className="navbar navbar-context page-container" id="context-navigation">
<div className="navbar-context-inner">
<div className="container">
- <ul className="nav navbar-nav nav-crumbs">
- <li>
- <Link to={`/organizations/${organization.key}`}>
- {organization.name}
- </Link>
- </li>
- </ul>
+ <h2 className="navbar-context-title">
+ <Link to={`/organizations/${organization.key}`} className="link-base-color">
+ <strong>{organization.name}</strong>
+ </Link>
+ </h2>
<ul className="nav navbar-nav nav-tabs">
<li>
diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigation-test.js.snap b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigation-test.js.snap
index 361c77f09cb..4d4d4d7d237 100644
--- a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigation-test.js.snap
+++ b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigation-test.js.snap
@@ -6,17 +6,18 @@ exports[`test admin 1`] = `
className="navbar-context-inner">
<div
className="container">
- <ul
- className="nav navbar-nav nav-crumbs">
- <li>
- <Link
- onlyActiveOnIndex={false}
- style={Object {}}
- to="/organizations/foo">
+ <h2
+ className="navbar-context-title">
+ <Link
+ className="link-base-color"
+ onlyActiveOnIndex={false}
+ style={Object {}}
+ to="/organizations/foo">
+ <strong>
Foo
- </Link>
- </li>
- </ul>
+ </strong>
+ </Link>
+ </h2>
<ul
className="nav navbar-nav nav-tabs">
<li>
@@ -93,17 +94,18 @@ exports[`test regular user 1`] = `
className="navbar-context-inner">
<div
className="container">
- <ul
- className="nav navbar-nav nav-crumbs">
- <li>
- <Link
- onlyActiveOnIndex={false}
- style={Object {}}
- to="/organizations/foo">
+ <h2
+ className="navbar-context-title">
+ <Link
+ className="link-base-color"
+ onlyActiveOnIndex={false}
+ style={Object {}}
+ to="/organizations/foo">
+ <strong>
Foo
- </Link>
- </li>
- </ul>
+ </strong>
+ </Link>
+ </h2>
<ul
className="nav navbar-nav nav-tabs">
<li>
diff --git a/server/sonar-web/src/main/less/components/navbar.less b/server/sonar-web/src/main/less/components/navbar.less
index 7a14845b96a..29322fa0d47 100644
--- a/server/sonar-web/src/main/less/components/navbar.less
+++ b/server/sonar-web/src/main/less/components/navbar.less
@@ -206,10 +206,11 @@
.navbar-context {
+ position: static;
top: @navbarGlobalHeight;
z-index: @navbar-context-z-index;
height: @navbarContextHeight;
- padding-top: 5px;
+ padding: 0;
background-color: @navbarContextBackground;
.nav-tabs {
@@ -239,6 +240,34 @@
color: @secondFontColor;
font-size: @smallFontSize;
}
+.navbar-context-inner {
+ position: fixed;
+ z-index: 420;
+ left: 0;
+ right: 0;
+ height: 65px;
+ padding-top: 5px;
+ box-sizing: border-box;
+ background-color: #f3f3f3;
+}
+
+.navbar-context-title {
+ float: left;
+ padding: 2px 10px 0;
+}
+
+.navbar-context-title-qualifier {
+ display: inline-block;
+ vertical-align: top;
+ line-height: 16px;
+ padding-top: 5px;
+ box-sizing: border-box;
+}
+
+.navbar-context-title-qualifier i {
+ vertical-align: top;
+}
+
.navbar-side {
padding: 10px;
diff --git a/server/sonar-web/src/main/less/init/misc.less b/server/sonar-web/src/main/less/init/misc.less
index 0a7b283cdea..472cc405189 100644
--- a/server/sonar-web/src/main/less/init/misc.less
+++ b/server/sonar-web/src/main/less/init/misc.less
@@ -130,8 +130,8 @@ td.big-spacer-top { padding-top: 16px; }
}
.slash-separator {
- margin-left: 4px;
- margin-right: 4px;
+ margin-left: 5px;
+ margin-right: 5px;
&:after {
content: "/";