diff --git a/queries.lp b/queries.lp
index d0af917c..883afd19 100644
--- a/queries.lp
+++ b/queries.lp
@@ -152,7 +152,10 @@ mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
diff --git a/scripts/pi-hole/js/footer.js b/scripts/pi-hole/js/footer.js
index bddadaa5..d85f6fe7 100644
--- a/scripts/pi-hole/js/footer.js
+++ b/scripts/pi-hole/js/footer.js
@@ -15,6 +15,7 @@ var settingsLevel = 0;
const REFRESH_INTERVAL = {
logs: 500, // 0.5 sec (logs page)
summary: 1000, // 1 sec (dashboard)
+ query_log: 2000, // 2 sec (Query Log)
blocking: 10000, // 10 sec (all pages, sidebar)
metrics: 10000, // 10 sec (settings page)
system: 20000, // 20 sec (all pages, sidebar)
diff --git a/scripts/pi-hole/js/queries.js b/scripts/pi-hole/js/queries.js
index eb3a79e6..98277efa 100644
--- a/scripts/pi-hole/js/queries.js
+++ b/scripts/pi-hole/js/queries.js
@@ -5,7 +5,7 @@
* This file is copyright under the latest version of the EUPL.
* Please see LICENSE file for your rights under this license. */
-/* global moment:false, utils:false */
+/* global moment:false, utils:false, REFRESH_INTERVAL:false */
const beginningOfTime = 1262304000; // Jan 01 2010, 00:00 in seconds
const endOfTime = 2147483647; // Jan 19, 2038, 03:14 in seconds
@@ -470,6 +470,19 @@ function getAPIURL(filters) {
return encodeURI(apiurl);
}
+var liveMode = false;
+$("#live").prop("checked", liveMode);
+$("#live").on("click", function () {
+ liveMode = $(this).prop("checked");
+ liveUpdate();
+});
+
+function liveUpdate() {
+ if (liveMode) {
+ refreshTable();
+ }
+}
+
$(function () {
// Do we want to filter queries?
var GETDict = utils.parseQueryString();
@@ -512,6 +525,10 @@ $(function () {
dataFilter: function (d) {
var json = jQuery.parseJSON(d);
cursor = json.cursor; // Extract cursor from original data
+ if (liveMode) {
+ utils.setTimer(liveUpdate, REFRESH_INTERVAL.query_log);
+ }
+
return d;
},
},
@@ -521,7 +538,7 @@ $(function () {
"<'row'<'col-sm-12'<'table-responsive'tr>>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
autoWidth: false,
- processing: true,
+ processing: false,
order: [[0, "desc"]],
columns: [
{
diff --git a/style/pi-hole.css b/style/pi-hole.css
index e9707ffd..65c96a12 100644
--- a/style/pi-hole.css
+++ b/style/pi-hole.css
@@ -1434,3 +1434,10 @@ table.dataTable tbody > tr > .selected {
.log-entry {
padding-left: 0.5em;
}
+
+.align-click-options {
+ align-items: center;
+ display: grid;
+ grid-auto-flow: column;
+ grid-column-gap: 15px;
+}