Fix: corrigida discrepância de contagem e severidade entre resumo global e detalhamento

This commit is contained in:
2025-10-16 20:45:57 -03:00
parent e1bad8eec1
commit c40911d484

View File

@@ -868,6 +868,32 @@
color: var(--pf-global--Color--400); color: var(--pf-global--Color--400);
} }
.severity-breakdown {
font-size: 12px;
color: var(--pf-global--Color--300);
margin-top: 2px;
}
.critical-count {
color: var(--pf-global--danger-color--200);
font-weight: 600;
}
.error-count {
color: var(--pf-global--danger-color--100);
font-weight: 600;
}
.warning-count {
color: var(--pf-global--warning-color--100);
font-weight: 600;
}
.info-count {
color: var(--pf-global--info-color--100);
font-weight: 600;
}
.workload-accordion-content { .workload-accordion-content {
background-color: var(--pf-global--BackgroundColor--100); background-color: var(--pf-global--BackgroundColor--100);
border-top: 1px solid var(--pf-global--BorderColor--200); border-top: 1px solid var(--pf-global--BorderColor--200);
@@ -4362,19 +4388,21 @@
namespace: namespace, namespace: namespace,
validations: [], validations: [],
pods: new Set(), pods: new Set(),
severity_breakdown: { error: 0, warning: 0, info: 0 } severity_breakdown: { error: 0, warning: 0, info: 0, critical: 0 }
}; };
} }
namespaceGroups[namespace].validations.push(validation); namespaceGroups[namespace].validations.push(validation);
namespaceGroups[namespace].pods.add(validation.pod_name); namespaceGroups[namespace].pods.add(validation.pod_name);
// Count severity // Count severity - CORRIGIDO para incluir critical
if (validation.severity === 'error') { if (validation.severity === 'error') {
namespaceGroups[namespace].severity_breakdown.error++; namespaceGroups[namespace].severity_breakdown.error++;
} else if (validation.severity === 'warning') { } else if (validation.severity === 'warning') {
namespaceGroups[namespace].severity_breakdown.warning++; namespaceGroups[namespace].severity_breakdown.warning++;
} else if (validation.severity === 'info') { } else if (validation.severity === 'info') {
namespaceGroups[namespace].severity_breakdown.info++; namespaceGroups[namespace].severity_breakdown.info++;
} else if (validation.severity === 'critical') {
namespaceGroups[namespace].severity_breakdown.critical++;
} }
}); });
} }
@@ -4410,6 +4438,9 @@
<span class="workload-stat"> <span class="workload-stat">
<i class="fas fa-exclamation-triangle"></i> <i class="fas fa-exclamation-triangle"></i>
${namespace.validations.length} issues ${namespace.validations.length} issues
<div class="severity-breakdown">
${getSeverityBreakdown(namespace)}
</div>
</span> </span>
<span class="status-indicator ${getSeverityClass(namespace)}"> <span class="status-indicator ${getSeverityClass(namespace)}">
${getSeverityText(namespace)} ${getSeverityText(namespace)}
@@ -5081,6 +5112,7 @@
function getSeverityClass(namespace) { function getSeverityClass(namespace) {
const breakdown = namespace.severity_breakdown || {}; const breakdown = namespace.severity_breakdown || {};
if (breakdown.critical > 0) return 'danger';
if (breakdown.error > 0) return 'danger'; if (breakdown.error > 0) return 'danger';
if (breakdown.warning > 0) return 'warning'; if (breakdown.warning > 0) return 'warning';
if (breakdown.info > 0) return 'info'; if (breakdown.info > 0) return 'info';
@@ -5089,12 +5121,23 @@
function getSeverityText(namespace) { function getSeverityText(namespace) {
const breakdown = namespace.severity_breakdown || {}; const breakdown = namespace.severity_breakdown || {};
if (breakdown.critical > 0) return 'Critical';
if (breakdown.error > 0) return 'Error'; if (breakdown.error > 0) return 'Error';
if (breakdown.warning > 0) return 'Warning'; if (breakdown.warning > 0) return 'Warning';
if (breakdown.info > 0) return 'Info'; if (breakdown.info > 0) return 'Info';
return 'Healthy'; return 'Healthy';
} }
function getSeverityBreakdown(namespace) {
const breakdown = namespace.severity_breakdown || {};
const parts = [];
if (breakdown.critical > 0) parts.push(`<span class="critical-count">${breakdown.critical} critical</span>`);
if (breakdown.error > 0) parts.push(`<span class="error-count">${breakdown.error} errors</span>`);
if (breakdown.warning > 0) parts.push(`<span class="warning-count">${breakdown.warning} warnings</span>`);
if (breakdown.info > 0) parts.push(`<span class="info-count">${breakdown.info} info</span>`);
return parts.join(' • ');
}
function showLoading(containerId) { function showLoading(containerId) {
const container = document.getElementById(containerId); const container = document.getElementById(containerId);
container.innerHTML = ` container.innerHTML = `