import MeasureOverviewContainer from './MeasureOverviewContainer';
import Sidebar from '../sidebar/Sidebar';
import ScreenPositionHelper from '../../../components/common/ScreenPositionHelper';
-import { hasBubbleChart, parseQuery, serializeQuery } from '../utils';
+import { isProjectOverview, hasBubbleChart, parseQuery, serializeQuery } from '../utils';
import { isSameBranchLike, getBranchLikeQuery } from '../../../helpers/branches';
-import { translate } from '../../../helpers/l10n';
+import {
+ getLocalizedMetricDomain,
+ translateWithParameters,
+ translate
+} from '../../../helpers/l10n';
import { getDisplayMetrics } from '../../../helpers/measures';
/*:: import type { Component, Query, Period } from '../types'; */
/*:: import type { RawQuery } from '../../../helpers/query'; */
});
};
+ getHelmetTitle = (
+ metric /*: Metric */,
+ query /*: {metric: string, selected: string, view: string }*/
+ ) => {
+ if (metric == null && hasBubbleChart(query.metric)) {
+ return isProjectOverview(query.metric)
+ ? translate('component_measures.overview.project_overview.facet')
+ : translateWithParameters(
+ 'component_measures.domain_x_overview',
+ getLocalizedMetricDomain(query.metric)
+ );
+ }
+ return metric != null ? metric.name : translate('layout.measures');
+ };
+
render() {
const isLoading = this.state.loading || this.props.metricsKey.length <= 0;
if (isLoading) {
const metric = metrics[query.metric];
return (
<div className="layout-page" id="component-measures">
- <Helmet title={translate('layout.measures')} />
+ <Helmet title={this.getHelmetTitle(metric, query)} />
<ScreenPositionHelper className="layout-page-side-outer">
{({ top }) => (
branchLike={branchLike}
className="layout-page-main"
currentUser={this.props.currentUser}
- rootComponent={component}
fetchMeasures={fetchMeasures}
leakPeriod={leakPeriod}
metric={metric}
metrics={metrics}
+ rootComponent={component}
router={this.props.router}
selected={query.selected}
updateQuery={this.updateQuery}
<MeasureOverviewContainer
branchLike={branchLike}
className="layout-page-main"
- rootComponent={component}
currentUser={this.props.currentUser}
domain={query.metric}
leakPeriod={leakPeriod}
metrics={metrics}
+ rootComponent={component}
router={this.props.router}
selected={query.selected}
updateQuery={this.updateQuery}