Commit 749527e2 authored by Mike Greiling's avatar Mike Greiling

differentiate neutral performance line items (neither improved nor degraded)

parent d521db62
...@@ -811,6 +811,10 @@ ...@@ -811,6 +811,10 @@
.failed { .failed {
color: $red-500; color: $red-500;
} }
.neutral {
color: $gl-gray-light;
}
} }
} }
} }
......
...@@ -39,6 +39,11 @@ export default { ...@@ -39,6 +39,11 @@ export default {
required: false, required: false,
default: () => [], default: () => [],
}, },
neutralIssues: {
type: Array,
required: false,
default: () => [],
},
}, },
components: { components: {
...@@ -131,6 +136,14 @@ export default { ...@@ -131,6 +136,14 @@ export default {
:issues="resolvedIssues" :issues="resolvedIssues"
/> />
<issues-block
class="js-mr-code-non-issues"
v-if="neutralIssues.length"
:type="type"
status="neutral"
:issues="neutralIssues"
/>
<issues-block <issues-block
class="js-mr-code-new-issues" class="js-mr-code-new-issues"
v-if="unresolvedIssues.length" v-if="unresolvedIssues.length"
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
}, },
computed: { computed: {
icon() { icon() {
return this.isStatusFailed ? spriteIcon('cut') : spriteIcon('plus'); return this.isStatusSuccess ? spriteIcon('plus') : spriteIcon('cut');
}, },
isStatusFailed() { isStatusFailed() {
return this.status === 'failed'; return this.status === 'failed';
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
isStatusSuccess() { isStatusSuccess() {
return this.status === 'success'; return this.status === 'success';
}, },
isStatusNeutral() {
return this.status === 'neutral';
},
isTypeQuality() { isTypeQuality() {
return this.type === 'codequality'; return this.type === 'codequality';
}, },
...@@ -46,7 +49,8 @@ ...@@ -46,7 +49,8 @@
<li <li
:class="{ :class="{
failed: isStatusFailed, failed: isStatusFailed,
success: isStatusSuccess success: isStatusSuccess,
neutral: isStatusNeutral
} }
"v-for="issue in issues"> "v-for="issue in issues">
......
...@@ -248,6 +248,7 @@ export default { ...@@ -248,6 +248,7 @@ export default {
:success-text="performanceText" :success-text="performanceText"
:unresolvedIssues="mr.performanceMetrics.degraded" :unresolvedIssues="mr.performanceMetrics.degraded"
:resolvedIssues="mr.performanceMetrics.improved" :resolvedIssues="mr.performanceMetrics.improved"
:neutralIssues="mr.performanceMetrics.neutral"
/> />
<collapsible-section <collapsible-section
class="js-sast-widget" class="js-sast-widget"
......
...@@ -50,6 +50,15 @@ export default class MRWidgetService extends CEWidgetService { ...@@ -50,6 +50,15 @@ export default class MRWidgetService extends CEWidgetService {
}, },
{ {
subject: '/some/other/path', subject: '/some/other/path',
metrics: [
{
name: 'Sitespeed Score',
value: 79,
},
],
},
{
subject: '/yet/another/path',
metrics: [ metrics: [
{ {
name: 'Sitespeed Score', name: 'Sitespeed Score',
......
...@@ -102,6 +102,7 @@ export default class MergeRequestStore extends CEMergeRequestStore { ...@@ -102,6 +102,7 @@ export default class MergeRequestStore extends CEMergeRequestStore {
const improved = []; const improved = [];
const degraded = []; const degraded = [];
const neutral = [];
Object.keys(headMetricsIndexed).forEach((subject) => { Object.keys(headMetricsIndexed).forEach((subject) => {
const subjectMetrics = headMetricsIndexed[subject]; const subjectMetrics = headMetricsIndexed[subject];
...@@ -117,13 +118,15 @@ export default class MergeRequestStore extends CEMergeRequestStore { ...@@ -117,13 +118,15 @@ export default class MergeRequestStore extends CEMergeRequestStore {
delta: headMetricData.value - baseMetricData.value, delta: headMetricData.value - baseMetricData.value,
}; };
if (headMetricData.value >= baseMetricData.value) { if (headMetricData.value > baseMetricData.value) {
improved.push(metricData); improved.push(metricData);
} else { } else if (headMetricData.value < baseMetricData.value) {
degraded.push(metricData); degraded.push(metricData);
} else {
neutral.push(metricData);
} }
} else { } else {
improved.push({ neutral.push({
name: metric, name: metric,
path: subject, path: subject,
score: headMetricData.value, score: headMetricData.value,
...@@ -132,7 +135,7 @@ export default class MergeRequestStore extends CEMergeRequestStore { ...@@ -132,7 +135,7 @@ export default class MergeRequestStore extends CEMergeRequestStore {
}); });
}); });
this.performanceMetrics = { improved, degraded }; this.performanceMetrics = { improved, degraded, neutral };
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment