Skip to content

Commit 71bac22

Browse files
Fixed UI display bugs
1 parent 9415198 commit 71bac22

File tree

8 files changed

+74
-465
lines changed

8 files changed

+74
-465
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<i class="icon icon-refresh"></i>
2424
{{ t('imageScanner.general.refresh') }}
2525
</button>
26-
<ScanButton :selectedRegistries="[{name: $route.params.id, namespace: $route.params.ns}]" :reloadFn="loadData" />
26+
<ScanButton :selectedRegistries="[{name: $route.params.id, namespace: $route.params.ns, currStatus: registryStatus}]" :reloadFn="loadData" />
2727
<ActionMenu
2828
v-if="registry"
2929
button-role="multiAction"

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<button
33
class="btn role-primary"
4-
:disabled="!(selectedRegistries && selectedRegistries.length)"
4+
:disabled="disableBtn"
55
@click="startScan()"
66
>
77
<i class="icon icon-play"></i>
@@ -30,7 +30,9 @@ export default {
3030
if (!this.selectedRegistries || !this.selectedRegistries.length) {
3131
return;
3232
}
33-
this.selectedRegistries.forEach(async (registry) => {
33+
this.selectedRegistries.filter(registry => {
34+
return !registry.currStatus || ["none", "failed", "complete"].includes(registry.currStatus.toLowerCase());
35+
}).forEach(async (registry) => {
3436
const scanjobObj = await this.$store.dispatch('cluster/create', {
3537
type: RESOURCE.SCAN_JOB,
3638
metadata: {
@@ -60,5 +62,13 @@ export default {
6062
});
6163
},
6264
},
65+
computed: {
66+
disableBtn() {
67+
return !(this.selectedRegistries && this.selectedRegistries.length) ||
68+
!this.selectedRegistries.some(registry => {
69+
return !registry.currStatus || ["none", "failed", "complete"].includes(registry.currStatus.toLowerCase());
70+
});
71+
},
72+
},
6373
}
6474
</script>

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { elapsedTime } from "@shell/utils/time";
21

32
export const REGISTRY_SCAN_TABLE = [
43
{
@@ -29,8 +28,7 @@ export const REGISTRY_SCAN_TABLE = [
2928
{
3029
name: "scanInterval",
3130
labelKey: "imageScanner.registries.registrytable.header.schedule",
32-
value: "spec.scanInterval",
33-
getValue: (row: any) => elapsedTime(row.scanInterval * 3600 * 1000).label,
31+
value: (row: any) => `Every ${row.spec.scanInterval}`,
3432
sort: "scanInterval",
3533
},
3634
{

pkg/sbombastic-image-vulnerability-scanner/formatters/PreviousScanCell.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,26 @@ export default {
1919
},
2020
methods: {
2121
getStatusText(row) {
22-
return this.t(`imageScanner.enum.status.${row.prevScanStatus?.toLowerCase()}`);
22+
return row.prevScanStatus ? this.t(`imageScanner.enum.status.${row.prevScanStatus.toLowerCase()}`) : "";
2323
},
2424
getStatusLabelClass(row) {
25-
return row.prevScanStatus?.toLowerCase();
25+
return row.prevScanStatus? row.prevScanStatus.toLowerCase() : "";
2626
},
2727
getStatusDotClass(row) {
28-
return `dot ${row.prevScanStatus?.toLowerCase()}`;
28+
return row.prevScanStatus? `dot ${row.prevScanStatus.toLowerCase()}` : "";
2929
}
3030
}
3131
};
3232
</script>
3333

3434
<template>
3535
<div class="previous-scan-cell">
36-
<div class="dot" :class="getStatusDotClass(row)"></div>
36+
<div :class="getStatusDotClass(row)"></div>
3737
<div class="status" :class="getStatusLabelClass(row)">{{ getStatusText(row) }}</div>
3838
<div v-if="row.prevProgress">
3939
<span>{{ t("imageScanner.general.at") }}</span><ProgressCell style="display: inline-block;" :row="{ metadata: { name: row.metadata.name }, progress: row.prevProgress, progressDetail: row.prevProgressDetail, error: null}" />
4040
</div>
41-
<div v-if="row.prevScanStatus.toLowerCase() === 'failed' && row.PrevError">
41+
<div v-if="row.prevScanStatus?.toLowerCase() === 'failed' && row.PrevError">
4242
<span>|
4343
<TextWithPopedDetail
4444
:value="t('imageScanner.general.error')"

0 commit comments

Comments
 (0)