@@ -37,8 +37,8 @@
};
},
methods: {
- updateTime(lastUpdateTime) {
- return elapsedTime(Date.now() / 1000 - new Date(lastUpdateTime).getTime() / 1000).label;
+ statusUpdateTime(lastTransitionTime) {
+ return elapsedTime(Math.ceil(Date.now() / 1000) - Math.ceil((new Date(lastTransitionTime).getTime() / 1000))).label + ' ' + this.t("imageScanner.general.ago");
}
}
}
diff --git a/pkg/sbombastic-image-vulnerability-scanner/components/common/ScanButton.vue b/pkg/sbombastic-image-vulnerability-scanner/components/common/ScanButton.vue
new file mode 100644
index 0000000..9e7deb9
--- /dev/null
+++ b/pkg/sbombastic-image-vulnerability-scanner/components/common/ScanButton.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
diff --git a/pkg/sbombastic-image-vulnerability-scanner/config/sbombastic-image-vulnerability-scanner.ts b/pkg/sbombastic-image-vulnerability-scanner/config/sbombastic-image-vulnerability-scanner.ts
index 7bd134c..1285013 100644
--- a/pkg/sbombastic-image-vulnerability-scanner/config/sbombastic-image-vulnerability-scanner.ts
+++ b/pkg/sbombastic-image-vulnerability-scanner/config/sbombastic-image-vulnerability-scanner.ts
@@ -69,9 +69,9 @@ export function init($plugin: IPlugin, store: any) {
PAGE.IMAGE_OVERVIEW,
PAGE.VULNERABILITY_OVERVIEW,
PAGE.VEX_MANAGEMENT,
- "demo"
+ //"demo"
]);
- basicType([RESOURCE.REGISTRY], 'Advanced');
+ basicType([RESOURCE.REGISTRY, PAGE.VEX_MANAGEMENT], 'Advanced');
}
\ No newline at end of file
diff --git a/pkg/sbombastic-image-vulnerability-scanner/config/table-headers.ts b/pkg/sbombastic-image-vulnerability-scanner/config/table-headers.ts
index 6a1e79a..e70e63d 100644
--- a/pkg/sbombastic-image-vulnerability-scanner/config/table-headers.ts
+++ b/pkg/sbombastic-image-vulnerability-scanner/config/table-headers.ts
@@ -36,16 +36,20 @@ export const REGISTRY_SCAN_TABLE = [
{
name: "status",
labelKey: "imageScanner.registries.registrytable.header.status",
- value: "scanjobs.0.status.statusResult.type",
+ value: "currStatus",
formatter: "RegistryStatusCellBadge",
sort: "status",
width: 100,
},
{
- name: "_progress",
+ name: "progress",
labelKey: "imageScanner.registries.registrytable.header.progress",
- value: "scanjobs.0.status.imagesCount",
- getValue: (row: any) => row.scanjobs[0].status.imagesCount,
+ getValue: (row: any) => {
+ return {
+ progress: row.progress,
+ error: row.error,
+ }
+ },
formatter: "ProgressCell",
sort: "progress",
},
diff --git a/pkg/sbombastic-image-vulnerability-scanner/formatters/PreviousScanCell.vue b/pkg/sbombastic-image-vulnerability-scanner/formatters/PreviousScanCell.vue
index f3ecd70..fd328df 100644
--- a/pkg/sbombastic-image-vulnerability-scanner/formatters/PreviousScanCell.vue
+++ b/pkg/sbombastic-image-vulnerability-scanner/formatters/PreviousScanCell.vue
@@ -12,36 +12,27 @@ export default {
}
},
methods: {
- getStatusStyle(row) {
- if (row && row.scanjobs[1] && row.scanjobs[1].status && row.scanjobs[1].status.statusResult && row.scanjobs[1].status.statusResult.type) {
- return { color: 'var(--text-secondary)' };
- } else {
- return { color: 'var(--text-muted)' };
- }
- },
getStatusText(row) {
- if (row && row.scanjobs[1] && row.scanjobs[1].status && row.scanjobs[1].status.statusResult && row.scanjobs[1].status.statusResult.type) {
- return this.t(`imageScanner.enum.status.${row.scanjobs[1].status.statusResult.type.toLowerCase()}`);
- } else {
- return this.t('imageScanner.enum.status.none');
- }
+ return this.t(`imageScanner.enum.status.${row.prevScanStatus.toLowerCase()}`);
+ },
+ getStatusLabelClass(row) {
+ return row.prevScanStatus.toLowerCase();
+ },
+ getStatusDotClass(row) {
+ return `dot ${row.prevScanStatus.toLowerCase()}`;
}
}
};
-
-
-
{{ getStatusText(row) }}
-
-
+
+
+
{{ getStatusText(row) }}
+
-
-
-
{{ t('imageScanner.enum.status.pending') }}
-