Fix: corrigida discrepância de contagem e severidade entre resumo global e detalhamento
This commit is contained in:
@@ -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 = `
|
||||||
|
|||||||
Reference in New Issue
Block a user