Skip to content

Commit 1a35143

Browse files
Fix the layout issu eon severityBarChart and utilize it in image overview page
1 parent ac866bd commit 1a35143

File tree

4 files changed

+89
-16
lines changed

4 files changed

+89
-16
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<template>
2+
<div class="chart-area">
3+
<div class="title">
4+
Most affected images at risk
5+
</div>
6+
<div class="severity-bar-chart">
7+
<SeverityBarChart :severityData="severityData" />
8+
</div>
9+
</div>
10+
</template>
11+
12+
<script>
13+
import SeverityBarChart from '@sbombastic-image-vulnerability-scanner/components/common/SeverityBarChart';
14+
15+
export default {
16+
name: 'imageRiskAssessment',
17+
components: {
18+
SeverityBarChart
19+
},
20+
props: {
21+
severityData: {
22+
type: Object,
23+
required: true
24+
}
25+
},
26+
data() {
27+
return {
28+
severityData: {
29+
Critical: 1627,
30+
High: 353,
31+
Medium: 246,
32+
Low: 65,
33+
None: 293,
34+
}
35+
};
36+
}
37+
}
38+
</script>
39+
40+
<style lang="scss" scoped>
41+
.chart-area {
42+
display: flex;
43+
padding: 16px;
44+
flex-direction: column;
45+
align-items: flex-start;
46+
gap: 12px;
47+
flex: 1 0 0;
48+
border-right: 1px solid #DCDEE7;
49+
.title {
50+
color: #141419;
51+
font-family: Lato;
52+
font-size: 18px;
53+
font-style: normal;
54+
font-weight: 600;
55+
line-height: 21px; /* 116.667% */
56+
}
57+
.severity-bar-chart {
58+
padding: 4px 8px;
59+
align-items: center;
60+
align-self: stretch;
61+
}
62+
}
63+
</style>

pkg/sbombastic-image-vulnerability-scanner/components/common/SeverityBarChart.vue

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<div class="severity-chart">
88
<div v-for="(value, key) in severityData" :key="key" class="severity-item">
99
<div class="severity-item-name">{{ key }}</div>
10-
<PercentageBar :modelValue="percentage(value)" style="width: 314px" />
10+
<PercentageBar class="severity-item-bar" :modelValue="percentage(value)" />
1111
<div class="severity-item-value"> {{ value }}</div>
1212
</div>
1313
</div>
@@ -51,6 +51,7 @@ export default {
5151
5252
.severity-heading {
5353
display: flex;
54+
flex: 1;
5455
width: 160px;
5556
flex-direction: column;
5657
justify-content: center;
@@ -74,39 +75,39 @@ export default {
7475
font-style: normal;
7576
font-weight: 400;
7677
line-height: normal;
78+
text-align: center;
7779
}
7880
}
7981
8082
.severity-chart {
8183
display: flex;
8284
flex-direction: column;
83-
align-items: flex-start;
8485
gap: 4px;
85-
flex: 1 0 0;
86+
flex: 3;
8687
8788
.severity-item {
8889
display: flex;
89-
justify-content: flex-end;
9090
align-items: center;
9191
gap: 12px;
92-
align-self: stretch;
9392
9493
.severity-item-name {
95-
display: flex;
9694
width: 80px;
97-
align-items: center;
95+
align-items: right;
9896
gap: 12px;
99-
align-self: stretch;
10097
}
10198
99+
.severity-item-bar {
100+
flex: 1;
101+
overflow: hidden;
102+
}
102103
.severity-item-value {
103-
display: flex;
104-
width: 45px;
105-
justify-content: flex-end;
106-
align-items: center;
104+
width: 30px;
105+
text-align: right;
106+
align-items: left;
107107
gap: 12px;
108-
align-self: stretch;
109108
}
109+
110+
110111
}
111112
}
112113
}

pkg/sbombastic-image-vulnerability-scanner/pages/c/_cluster/sbombastic-image-vulnerability-scanner/ImageOverview.vue

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
</div>
3535
<div class="summary-section">
3636
<TopRiskyImagesChart :topRiskyImages="topRiskyImages"/>
37-
<TopRiskyImagesChart :topRiskyImages="topRiskyImages"/>
37+
<ImageRiskAssessment :severityData="severityData"/>
3838
</div>
3939
<div class="table-filter-section">
4040
<div class="table-filter">
@@ -93,11 +93,13 @@
9393
<script>
9494
import LabeledSelect from "@shell/components/form/LabeledSelect";
9595
import TopRiskyImagesChart from "@sbombastic-image-vulnerability-scanner/components/TopRiskyImagesChart";
96+
import ImageRiskAssessment from "@sbombastic-image-vulnerability-scanner/components/ImageRiskAssessment"
9697
export default {
9798
name: 'imageOverview',
9899
components: {
99100
LabeledSelect,
100101
TopRiskyImagesChart,
102+
ImageRiskAssessment,
101103
},
102104
data() {
103105
const filterCveOptions = [
@@ -162,6 +164,13 @@
162164
}
163165
},
164166
],
167+
severityData: {
168+
Critical: 1627,
169+
High: 353,
170+
Medium: 246,
171+
Low: 65,
172+
None: 293,
173+
},
165174
filterCveOptions,
166175
filterImageOptions,
167176
selectedCveFilter: filterCveOptions[0],

pkg/sbombastic-image-vulnerability-scanner/pages/c/_cluster/sbombastic-image-vulnerability-scanner/vulnerabilities.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@
5656
5757
.charts {
5858
/* layout */
59-
display: flex;
60-
align-items: flex-start;
59+
align-items: center;
6160
align-self: stretch;
61+
padding: 4px 48px;
6262
/* style */
6363
border-radius: 6px;
6464
border: 1px solid #DCDEE7;

0 commit comments

Comments
 (0)