import {
Domain,
- DomainHeader,
DomainPanel,
DomainNutshell,
DomainLeak,
const { snapshotDate } = this.props.component;
const formattedSnapshotDate = moment(snapshotDate).format('LLL');
+ const domainUrl = window.baseUrl + '/component_measures/domain/Maintainability?id=' +
+ encodeURIComponent(this.props.component.key);
+
return <Domain>
- <DomainHeader component={this.props.component}
- title={translate('overview.domain.code_smells')}/>
+ <div className="overview-card-header">
+ <div className="overview-title">
+ <a href={domainUrl}>
+ {translate('metric.code_smells.name')}
+ </a>
+ </div>
+ </div>
<DomainPanel>
<DomainNutshell>
*/
import React from 'react';
-import { Domain,
- DomainHeader,
- DomainPanel,
- DomainNutshell,
- DomainLeak,
- MeasuresList,
- Measure,
- DomainMixin } from './components';
+import {
+ Domain,
+ DomainPanel,
+ DomainNutshell,
+ DomainLeak,
+ MeasuresList,
+ Measure,
+ DomainMixin
+} from './components';
import { DrilldownLink } from '../../../components/shared/drilldown-link';
import { TooltipsMixin } from '../../../components/mixins/tooltips-mixin';
import { DonutChart } from '../../../components/charts/donut-chart';
{ value: 100 - this.props.measures[coverageMetric], fill: '#d4333f' }
];
+ const domainUrl = window.baseUrl + '/component_measures/domain/Tests?id=' +
+ encodeURIComponent(this.props.component.key);
+
return <Domain>
- <DomainHeader component={this.props.component}
- title={translate('overview.domain.coverage')}/>
+ <div className="overview-card-header">
+ <div className="overview-title">
+ <a href={domainUrl}>
+ {translate('metric.coverage.name')}
+ </a>
+ </div>
+ </div>
<DomainPanel>
<DomainNutshell>
import React from 'react';
import { Domain,
- DomainHeader,
DomainPanel,
DomainNutshell,
DomainLeak,
{ value: Math.max(0, 20 - this.props.measures['duplicated_lines_density']), fill: '#e6e6e6' }
];
+ const domainUrl = window.baseUrl + '/component_measures/domain/Duplication?id=' +
+ encodeURIComponent(this.props.component.key);
+
return <Domain>
- <DomainHeader component={this.props.component}
- title={translate('overview.domain.duplications')}/>
+ <div className="overview-card-header">
+ <div className="overview-title">
+ <a href={domainUrl}>
+ {translate('overview.domain.duplications')}
+ </a>
+ </div>
+ </div>
<DomainPanel>
<DomainNutshell>
import React from 'react';
import {
- DomainHeader,
DomainPanel,
DomainNutshell,
DomainLeak,
const bugs = this.props.measures['bugs'] || 0;
const vulnerabilities = this.props.measures['vulnerabilities'] || 0;
+ const bugsDomainUrl = window.baseUrl + '/component_measures/domain/Reliability?id=' +
+ encodeURIComponent(this.props.component.key);
+ const vulnerabilitiesDomainUrl = window.baseUrl + '/component_measures/domain/Security?id=' +
+ encodeURIComponent(this.props.component.key);
+
return <div className="overview-card overview-card-special">
- <DomainHeader component={this.props.component}
- title={translate('overview.domain.risk')}/>
+ <div className="overview-card-header">
+ <div className="overview-title">
+ <a href={bugsDomainUrl}>
+ {translate('metric.bugs.name')}
+ </a>
+ {' & '}
+ <a href={vulnerabilitiesDomainUrl}>
+ {translate('metric.vulnerabilities.name')}
+ </a>
+ </div>
+ </div>
<DomainPanel>
<DomainNutshell>
import React from 'react';
import { Domain,
- DomainHeader,
DomainPanel,
DomainNutshell,
DomainLeak,
},
render () {
+ const domainUrl = window.baseUrl + '/component_measures/domain/Size?id=' +
+ encodeURIComponent(this.props.component.key);
+
return <Domain>
- <DomainHeader component={this.props.component}
- title={translate('overview.domain.structure')}/>
+ <div className="overview-card-header">
+ <div className="overview-title">
+ <a href={domainUrl}>
+ {translate('overview.domain.structure')}
+ </a>
+ </div>
+ </div>
<DomainPanel>
<DomainNutshell>
font-size: 14px;
letter-spacing: 0.05em;
}
+
+ & > a {
+ border-bottom-color: #d0d0d0;
+ color: @baseFontColor;
+
+ &:hover, &:focus {
+ border-bottom-color: @lightBlue;
+ color: @blue;
+ }
+ }
}
/*
overview.gate.view.warnings=The view has warnings on the following quality gate conditions: {0}.
overview.gate.view.errors=The view failed the quality gate on the following conditions: {0}.
-overview.domain.risk=Bugs & Vulnerabilities
-overview.domain.code_smells=Code Smells
-overview.domain.coverage=Coverage
overview.domain.duplications=Duplications
overview.domain.structure=Structure