From 45d8634f080c5ea3756ac5f9d1a77ac52b6db50f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Mon, 3 Nov 2025 10:38:40 +0100 Subject: [PATCH] new options --- static/js/logs.js | 13 +++++++++++-- templates/edit.html | 2 +- templates/logs.html | 15 +++++++++------ 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/static/js/logs.js b/static/js/logs.js index 15619f6..d0d790f 100644 --- a/static/js/logs.js +++ b/static/js/logs.js @@ -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(); -}); \ No newline at end of file +}); diff --git a/templates/edit.html b/templates/edit.html index 5f137ce..ccc9a39 100644 --- a/templates/edit.html +++ b/templates/edit.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% set active_page = "" %} {% block title %}HAProxy • Edit{% endblock %} -{% block breadcrumb %}{% endblock %} +{% block breadcrumb %}{% endblock %} {% block content %}
diff --git a/templates/logs.html b/templates/logs.html index 3ffb1dc..53c3f82 100644 --- a/templates/logs.html +++ b/templates/logs.html @@ -16,12 +16,11 @@ {% block content %}
-
+
HAProxy Access Logs
- {% if error_message %} {% endif %} - {% if logs and logs|length > 0 %}
@@ -62,12 +60,19 @@
+
+
+ + +
+
-
@@ -179,12 +184,10 @@
{% elif logs %} -
No log entries match your filters.
{% else %} -