new options

This commit is contained in:
Mateusz Gruszczyński
2025-11-03 10:38:40 +01:00
parent c838521adc
commit 45d8634f08
3 changed files with 21 additions and 9 deletions

View File

@@ -3,6 +3,7 @@ document.addEventListener('DOMContentLoaded', function() {
const filterStatus = document.getElementById('filter_status');
const filterMethod = document.getElementById('filter_method');
const filterThreats = document.getElementById('filter_threats');
const filterHideStats = document.getElementById('filter_hide_stats');
const resetBtn = document.getElementById('reset_filters');
const logsTable = document.getElementById('logs_table');
@@ -16,6 +17,7 @@ document.addEventListener('DOMContentLoaded', function() {
const statusValue = filterStatus.value;
const methodValue = filterMethod.value;
const showThreats = filterThreats.checked;
const hideStats = filterHideStats.checked;
let visibleCount = 0;
let threatCount = 0;
@@ -27,6 +29,7 @@ document.addEventListener('DOMContentLoaded', function() {
const status = row.dataset.status;
const method = row.dataset.method;
const hasThreat = row.dataset.threats === '1';
const url = row.querySelector('td:nth-child(4)').textContent.trim();
let show = true;
@@ -53,6 +56,11 @@ document.addEventListener('DOMContentLoaded', function() {
show = false;
}
// Hide /stats filter
if (hideStats && url.includes('/stats')) {
show = false;
}
row.style.display = show ? '' : 'none';
if (show) {
@@ -79,6 +87,7 @@ document.addEventListener('DOMContentLoaded', function() {
filterStatus.addEventListener('change', applyFilters);
filterMethod.addEventListener('change', applyFilters);
filterThreats.addEventListener('change', applyFilters);
filterHideStats.addEventListener('change', applyFilters);
// Reset button
resetBtn.addEventListener('click', function() {
@@ -86,9 +95,9 @@ document.addEventListener('DOMContentLoaded', function() {
filterStatus.value = '';
filterMethod.value = '';
filterThreats.checked = true;
filterHideStats.checked = true;
applyFilters();
});
// Initial stats
applyFilters();
});

View File

@@ -1,7 +1,7 @@
{% extends "base.html" %}
{% set active_page = "" %}
{% block title %}HAProxy • Edit{% endblock %}
{% block breadcrumb %}<nav aria-label="breadcrumb" class="mb-3"><ol class="breadcrumb mb-0"><li class="breadcrumb-item"><a href="{{ url_for('main.index') }}"><i class="bi bi-house"></i></a></li><li class="breadcrumb-item active" aria-current="page">Edytor</li></ol></nav>{% endblock %}
{% block breadcrumb %}<nav aria-label="breadcrumb" class="mb-3"><ol class="breadcrumb mb-0"><li class="breadcrumb-item"><a href="{{ url_for('main.index') }}"><i class="bi bi-house"></i></a></li><li class="breadcrumb-item active" aria-current="page">Edit Haproxy config file</li></ol></nav>{% endblock %}
{% block content %}
<div class="card shadow-sm">
<div class="card-body">

View File

@@ -16,12 +16,11 @@
{% block content %}
<div class="card shadow-sm mb-4">
<div class="card-header bg-info text-white">
<div class="card-header bg-primary text-white">
<h5 class="mb-0"><i class="bi bi-file-text me-2"></i>HAProxy Access Logs</h5>
</div>
<div class="card-body">
<!-- Error/Info Messages -->
{% if error_message %}
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<i class="bi bi-exclamation-triangle me-2"></i>
@@ -30,7 +29,6 @@
</div>
{% endif %}
<!-- Filter Section (kompaktnie, jak było) -->
{% if logs and logs|length > 0 %}
<div class="row mb-3 g-2">
<div class="col-auto">
@@ -62,12 +60,19 @@
</label>
</div>
</div>
<div class="col-auto">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="filter_hide_stats" checked>
<label class="form-check-label" for="filter_hide_stats" style="margin-top: 5px;">
Hide /stats
</label>
</div>
</div>
<div class="col-auto ms-auto">
<button class="btn btn-sm btn-secondary" id="reset_filters">Reset</button>
</div>
</div>
<!-- Stats Cards (kompaktnie) -->
<div class="row mb-3 g-2">
<div class="col-md-2">
<div class="card text-center" style="font-size: 0.9rem;">
@@ -179,12 +184,10 @@
</div>
{% elif logs %}
<!-- Logs exist but empty after filtering -->
<div class="alert alert-info">
<i class="bi bi-info-circle me-2"></i>No log entries match your filters.
</div>
{% else %}
<!-- No logs at all -->
<div class="alert alert-danger" role="alert">
<h4 class="alert-heading"><i class="bi bi-exclamation-circle me-2"></i>No logs available</h4>
<hr>