From 5f71949127637d6107ef61328f0cb310d2559b14 Mon Sep 17 00:00:00 2001 From: Nemo Godebski-Pedersen Date: Wed, 21 May 2025 19:34:25 +0700 Subject: [PATCH] remove redundant js script --- public/js/inactivity.js | 110 ---------------------------------- src/components/AutoLogout.vue | 2 - 2 files changed, 112 deletions(-) delete mode 100644 public/js/inactivity.js diff --git a/public/js/inactivity.js b/public/js/inactivity.js deleted file mode 100644 index 75a52a6..0000000 --- a/public/js/inactivity.js +++ /dev/null @@ -1,110 +0,0 @@ -import * as countdownTimer from '../../src/assets/inactivity-timer.js' - -// holds the idle duration in ms (current value = 301 seconds) -var timeoutIntervalInMillis = 5 * 60 * 1000 + 1000; -// holds the timeout variables for easy destruction and reconstruction of the setTimeout hooks -var timeHook = null; - -function initializeTimeHook() { - // this method has the purpose of creating our timehooks and scheduling the call to our logout function when the idle time has been reached - if (timeHook == null) { - timeHook = setTimeout( function () { destroyTimeHook(); logout(); }.bind(this), timeoutIntervalInMillis); - } -} - -function destroyTimeHook() { - // this method has the sole purpose of destroying any time hooks we might have created - clearTimeout(timeHook); - timeHook = null; -} - -function resetTimeHook(event) { - // this method replaces the current time hook with a new time hook - destroyTimeHook(); - initializeTimeHook(); - countdownTimer.resetCountdownTimer(timeoutIntervalInMillis / 1000); - // show event type, element and coordinates of the click - // console.log(event.type + " at " + event.currentTarget); - // console.log("Coordinates: " + event.clientX + ":" + event.clientY); - console.log("Reset inactivity of a user"); -} - -function setupListeners() { - // here we setup the event listener for the mouse click operation - document.addEventListener("click", resetTimeHook); - document.addEventListener("mousemove", resetTimeHook); - document.addEventListener("mousedown", resetTimeHook); - document.addEventListener("keypress", resetTimeHook); - document.addEventListener("touchmove", resetTimeHook); - console.log("Listeners for user inactivity activated"); -} - -function destroyListeners() { - // here we destroy event listeners for the mouse click operation - document.removeEventListener("click", resetTimeHook); - document.removeEventListener("mousemove", resetTimeHook); - document.removeEventListener("mousedown", resetTimeHook); - document.removeEventListener("keypress", resetTimeHook); - document.removeEventListener("touchmove", resetTimeHook); - console.log("Listeners for user inactivity deactivated"); -} - -function logout() { - destroyListeners(); - countdownTimer.destroyCountdownTimer(); - console.log("Logging you out due to inactivity.."); - const logoffButton = document.getElementById("logout"); - logoffButton.click(); -} - -async function makeObpApiCall() { - //debug - console.log("calling API"); - let timeoutInSeconds; - try { - let obpApiHost = document.getElementById("nav"); - console.log(obpApiHost); - if(obpApiHost) { - obpApiHost = obpApiHost.href.split("?")[0]; - } - - const response = await fetch(`${obpApiHost}/obp/v5.1.0/ui/suggested-session-timeout`); - const json = await response.json(); - if(json.timeout_in_seconds) { - timeoutInSeconds = json.timeout_in_seconds; - console.log(`Suggested value ${timeoutInSeconds} is used`); - } else { - timeoutInSeconds = 5 * 60 + 1; // Set default value to 301 seconds - console.log(`Default value ${timeoutInSeconds} is used`); - } - } catch (e) { - console.error(e); - timeoutInSeconds = 5 * 60 + 1; // Set default value to 301 seconds, even if the session timeout endpoint is not reachable for whatever reason - console.log(`Default value ${timeoutInSeconds} is used`); - } - return timeoutInSeconds; -} - -async function getSuggestedSessionTimeout() { - if(!sessionStorage.getItem("suggested-session-timeout-in-seconds")) { - let timeoutInSeconds = await makeObpApiCall(); - sessionStorage.setItem("suggested-session-timeout-in-seconds", timeoutInSeconds); - } - return sessionStorage.getItem("suggested-session-timeout-in-seconds") * 1000 + 1000; // We need timeout in millis -} - -// self executing function to trigger the operation on page load -(async function () { - timeoutIntervalInMillis = await getSuggestedSessionTimeout(); // Try to get suggested value - const logoffButton = document.getElementById("countdown-timer-span"); - if(logoffButton) { - // to prevent any lingering timeout handlers preventing memory leaks - destroyTimeHook(); - // setup a fresh time hook - initializeTimeHook(); - // setup initial event listeners - setupListeners(); - // Reset countdown timer - countdownTimer.resetCountdownTimer(timeoutIntervalInMillis / 1000); - } -})(); \ No newline at end of file diff --git a/src/components/AutoLogout.vue b/src/components/AutoLogout.vue index 5228151..75a0e4f 100644 --- a/src/components/AutoLogout.vue +++ b/src/components/AutoLogout.vue @@ -28,8 +28,6 @@ function setTimers(warningDelay = defaultWarningDelay, logoutDelay = defaultLogo warningTimeout = setTimeout(warningMessage, warningDelay); // 4 seconds for development, change later logoutTimeout = setTimeout(logout, logoutDelay); // 15 seconds for development, change later - - console.log(`Auto logout set: warning in ${warningDelay/1000}s, logout in ${logoutDelay/1000}s`); } let warningNotification: NotificationHandle;