Skip to content

Commit b287150

Browse files
rushk014xingzhang-suse
authored andcommitted
Feat: Registries configuration - Detail: Add Scan History Error Cell
1 parent 41c89be commit b287150

File tree

5 files changed

+122
-41
lines changed

5 files changed

+122
-41
lines changed

pkg/sbombastic-image-vulnerability-scanner/components/RegistryDetailScanTable.vue

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
type: "Pending",
3636
lastTransitionTime: null,
3737
};
38-
rec.status['scannedImagesCount'] = this.$route.params.id === 'kw-controller' ? 1000 : 500;
39-
rec.status['imagesCount'] = 2000;
4038
return rec;
4139
});
4240
}
@@ -55,8 +53,6 @@
5553
type: "Pending",
5654
lastTransitionTime: null,
5755
};
58-
rec.status['scannedImagesCount'] = this.$route.params.id === 'kw-controller' ? 1000 : 500;
59-
rec.status['imagesCount'] = 2000;
6056
return rec;
6157
});
6258
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<div v-if="property.label" class="label">
55
{{ property.label }}
66
</div>
7-
<div v-if="property.value" class="value">
7+
<div v-if="property.value !== null" class="value">
88
{{ property.value }}
99
</div>
1010
</div>

pkg/sbombastic-image-vulnerability-scanner/config/table-headers.ts

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -104,45 +104,46 @@ export const REGISTRY_SCAN_HISTORY_TABLE = [
104104
name: "errors",
105105
labelKey: "imageScanner.registries.configuration.scanTable.header.error",
106106
value: "status.statusResult.message",
107+
formatter: "ScanErrorCell",
107108
sort: "errors",
108109
},
109110
];
110111

111112
export const VEX_MANAGEMENT_TABLE = [
112-
{
113-
name: "_status",
114-
labelKey: "imageScanner.vexManagement.table.headers.status",
115-
value: "_status",
116-
getValue: (row: any) => row._status,
117-
formatter: "VexStatusCellBadge",
118-
sort: "_status",
119-
},
120-
{
121-
name: "name",
122-
labelKey: "imageScanner.vexManagement.table.headers.name",
123-
value: "name",
124-
formatter: "VexNameLink",
125-
sort: "name",
126-
},
127-
{
128-
name: "uri",
129-
labelKey: "imageScanner.vexManagement.table.headers.uri",
130-
value: "uri",
131-
formatter: "UriExternalLink",
132-
sort: "uri",
133-
},
134-
{
135-
name: "createdBy",
136-
labelKey: "imageScanner.vexManagement.table.headers.createdBy",
137-
value: "createdBy",
138-
sort: "createdBy",
139-
},
140-
{
141-
name: "updated",
142-
labelKey: "imageScanner.vexManagement.table.headers.updated",
143-
value: "updated",
144-
getValue: (row: any) => row.updated,
145-
formatter: "VexDateFormatter",
146-
sort: "updated",
147-
}
113+
{
114+
name: "_status",
115+
labelKey: "imageScanner.vexManagement.table.headers.status",
116+
value: "_status",
117+
getValue: (row: any) => row._status,
118+
formatter: "VexStatusCellBadge",
119+
sort: "_status",
120+
},
121+
{
122+
name: "name",
123+
labelKey: "imageScanner.vexManagement.table.headers.name",
124+
value: "name",
125+
formatter: "VexNameLink",
126+
sort: "name",
127+
},
128+
{
129+
name: "uri",
130+
labelKey: "imageScanner.vexManagement.table.headers.uri",
131+
value: "uri",
132+
formatter: "UriExternalLink",
133+
sort: "uri",
134+
},
135+
{
136+
name: "createdBy",
137+
labelKey: "imageScanner.vexManagement.table.headers.createdBy",
138+
value: "createdBy",
139+
sort: "createdBy",
140+
},
141+
{
142+
name: "updated",
143+
labelKey: "imageScanner.vexManagement.table.headers.updated",
144+
value: "updated",
145+
getValue: (row: any) => row.updated,
146+
formatter: "VexDateFormatter",
147+
sort: "updated",
148+
},
148149
];
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<script>
2+
import { REGISTRY_STATUS } from '@sbombastic-image-vulnerability-scanner/types';
3+
4+
export default {
5+
props: {
6+
value: {
7+
type: String,
8+
required: true
9+
},
10+
row: {
11+
type: Object,
12+
required: true
13+
}
14+
},
15+
data() {
16+
return {
17+
failedStatus: REGISTRY_STATUS.FAILED
18+
}
19+
}
20+
};
21+
</script>
22+
23+
<template>
24+
<div v-if="row && row.status.statusResult.type.toLowerCase() === failedStatus" class="scan-error-cell">
25+
<div class="dot failed"></div>
26+
<div class="status">{{ value }}</div>
27+
</div>
28+
<div v-else class="scan-error-cell">
29+
<div class="status text-muted">{{ t('imageScanner.general.none') }}</div>
30+
</div>
31+
</template>
32+
33+
<style lang="scss" scoped>
34+
.scan-error-cell {
35+
display: flex;
36+
align-items: center;
37+
gap: 8px;
38+
color: var(--text-secondary);
39+
font-size: 14px;
40+
.status {
41+
font-size: 14px;
42+
}
43+
.dot {
44+
width: 8px;
45+
height: 8px;
46+
border-radius: 50%;
47+
border-width: 1px;
48+
border-style: solid;
49+
display: inline-block;
50+
&.pending {
51+
background-color: var(--status-pending);
52+
border-color: var(--status-pending);
53+
}
54+
&.scheduled {
55+
background-color: var(--status-scheduled);
56+
border-color: var(--status-scheduled);
57+
}
58+
&.inprogress {
59+
background-color: var(--status-inprogress);
60+
border-color: var(--status-inprogress);
61+
}
62+
&.complete {
63+
background-color: var(--status-complete);
64+
border-color: var(--status-complete);
65+
}
66+
&.failed {
67+
background-color: var(--status-failed);
68+
border-color: var(--status-failed);
69+
}
70+
&.none {
71+
background-color: var(--status-none);
72+
border-color: #DCDEE4;
73+
}
74+
75+
--status-pending: #DCDEE7;
76+
--status-scheduled: #0FCFF0;
77+
--status-inprogress: #3D98D3;
78+
--status-complete: #5BB04F;
79+
--status-failed: #DE2136;
80+
--status-none: #FFFFFF;
81+
}
82+
}
83+
</style>

pkg/sbombastic-image-vulnerability-scanner/l10n/en-us.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ imageScanner:
128128
general:
129129
refresh: Refresh data
130130
ago: ago
131+
none: none
131132

132133
typeLabel:
133134
sbombastic.rancher.io.registry: Registries configuration

0 commit comments

Comments
 (0)