diff --git a/server/resources/package-lock.json b/server/resources/package-lock.json index ff46be0..f971061 100644 --- a/server/resources/package-lock.json +++ b/server/resources/package-lock.json @@ -2941,6 +2941,11 @@ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" }, + "jquery-pjax": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jquery-pjax/-/jquery-pjax-2.0.1.tgz", + "integrity": "sha1-azoboW5kTmJL3P5y62s9lqhG9fI=" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", diff --git a/server/resources/package.json b/server/resources/package.json index 18e4850..4e71214 100644 --- a/server/resources/package.json +++ b/server/resources/package.json @@ -26,6 +26,7 @@ "font-awesome": "^4.7.0", "howler": "^2.2.0", "jquery": "^3.5.1", + "jquery-pjax": "^2.0.1", "leaflet": "^1.7.1", "leaflet.locatecontrol": "^0.72.0", "popper.js": "^1.16.1", diff --git a/server/resources/src/main.js b/server/resources/src/main.js index 6a77dc0..ef5cb52 100644 --- a/server/resources/src/main.js +++ b/server/resources/src/main.js @@ -9,6 +9,15 @@ import '../node_modules/bootstrap-toggle/css/bootstrap-toggle.css'; import '../node_modules/bootstrap-toggle/js/bootstrap-toggle.js'; import '../node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css'; import 'time-input-polyfill/auto'; +import 'jquery-pjax'; + +$(document).pjax('a', '#content'); +$(document).on('pjax:start', function() { + if(window.loadTable_interval !== undefined){ + clearInterval(window.loadTable_interval); + window.loadTable_interval = undefined; + } +}) // Cookie functions from w3schools function setCookie(cname, cvalue, exdays) { @@ -65,7 +74,7 @@ $( document ).ready(function() { if (getCookie("authenticated")) { if ('serviceWorker' in navigator) { window.addEventListener('load', () => { - navigator.serviceWorker.register('/sw.js').then(registration => { + navigator.serviceWorker.register('sw.js').then(registration => { console.log('SW registered: ', registration); }).catch(registrationError => { console.log('SW registration failed: ', registrationError); @@ -90,7 +99,8 @@ function fillTable(data){ } var offline = false; -function loadTable(table_page){ +var loadTable_interval = undefined; +function loadTable(table_page, set_interval=true, interval=10000){ $.getJSON( "resources/ajax/ajax_"+table_page+".php", function( data, status, xhr ) { fillTable(data); var headers = new Headers(); @@ -117,6 +127,12 @@ function loadTable(table_page){ window.offline = true; } }); + if(set_interval){ + window.loadTable_interval = setInterval(function() { + window.loadTable(table_page, false); + }, interval); + } } +window.loadTable_interval = loadTable_interval; window.fillTable = fillTable; window.loadTable = loadTable; \ No newline at end of file diff --git a/server/templates/base.html b/server/templates/base.html index 91dea94..262d147 100644 --- a/server/templates/base.html +++ b/server/templates/base.html @@ -5,7 +5,7 @@ {{ title }} - ALLERTA sistema gestionale {{ owner }} - +