@@ -62,7 +62,7 @@ export default function NewCodeMeasuresPanel(props: Readonly<Props>) { | |||
const failedConditions = qgStatuses?.flatMap((qg) => qg.failedConditions) ?? []; | |||
const newIssues = getLeakValue(findMeasure(measures, MetricKey.new_violations)); | |||
const newIssuesCondition = failedConditions.find((c) => c.metric === MetricKey.new_violations); | |||
const newIssuesCondition = conditions.find((c) => c.metric === MetricKey.new_violations); | |||
const issuesConditionFailed = newIssuesCondition?.level === Status.ERROR; | |||
const newAcceptedIssues = getLeakValue(findMeasure(measures, MetricKey.new_accepted_issues)); | |||
const newSecurityHotspots = getLeakValue( |
@@ -252,6 +252,18 @@ export function getAnalysisVariations(measures: MeasureHistory[], analysesCount: | |||
}, emptyVariations); | |||
} | |||
export function getConditionRequiredTranslateId(metric: MetricKey) { | |||
if ( | |||
[MetricKey.security_hotspots_reviewed, MetricKey.new_security_hotspots_reviewed].includes( | |||
metric, | |||
) | |||
) { | |||
return 'overview.quality_gate.required_x_reviewed'; | |||
} | |||
return 'overview.quality_gate.required_x'; | |||
} | |||
export function getConditionRequiredLabel( | |||
condition: QualityGateStatusConditionEnhanced, | |||
intl: IntlShape, | |||
@@ -271,20 +283,16 @@ export function getConditionRequiredLabel( | |||
operator = '='; | |||
} | |||
const conditionEl = ( | |||
<> | |||
{operator}{' '} | |||
{formatMeasure(condition.error, condition.measure.metric.type, { | |||
decimals: 2, | |||
omitExtraDecimalZeros: true, | |||
})} | |||
</> | |||
); | |||
const conditionEl = formatMeasure(condition.error, condition.measure.metric.type, { | |||
decimals: 2, | |||
omitExtraDecimalZeros: true, | |||
}); | |||
return intl.formatMessage( | |||
{ id: 'overview.quality_gate.required_x' }, | |||
{ id: getConditionRequiredTranslateId(condition.metric) }, | |||
{ | |||
operator, | |||
requirement: failed ? <b>{conditionEl}</b> : conditionEl, | |||
}, | |||
); |
@@ -3898,7 +3898,8 @@ overview.quality_gate.on_x_new_lines=On {link} New Lines. | |||
overview.quality_gate.x_estimated_after_merge={value} Estimated after merge | |||
overview.quality_gate.require_fixing={count, plural, one {requires} other {require}} fixing | |||
overview.quality_gate.require_reviewing={count, plural, one {requires} other {require}} reviewing | |||
overview.quality_gate.required_x=Required {requirement} | |||
overview.quality_gate.required_x=Required {operator} {requirement} | |||
overview.quality_gate.required_x_reviewed=Required review: {requirement} | |||
overview.quality_profiles=Quality Profiles used | |||
overview.new_code_period_x=New Code: {0} | |||
overview.max_new_code_period_from_x=Max New Code from: {0} |