Any OOTB timeout component | Community
Skip to main content
nchandra
New Participant
August 8, 2018
Solved

Any OOTB timeout component

  • August 8, 2018
  • 2 replies
  • 1820 views

I am wondering is there any OOTB timeout component for Adaptive forms (AEM 6.3 forms)?

our ask is if adaptive form is open with out any activity for 13 mins then we should open time out popup , after two mins we should redirect to home page.  Am looking if there is any OOTB component which  can be extended or reused ?

Thanks,

Chandra

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Mayank_Gandhi

No OOTB component available for such use case, but should be easily achievable via JS.

One example can be handling events on form initialize and adding to the Timer based on the Events :

var timeoutID;

function setup() {

    this.addEventListener("mousemove", resetTimer, false);

    this.addEventListener("mousedown", resetTimer, false);

    this.addEventListener("keypress", resetTimer, false);

    this.addEventListener("DOMMouseScroll", resetTimer, false);

    this.addEventListener("touchmove", resetTimer, false);

    this.addEventListener("MSPointerMove", resetTimer, false);

    startTimer();

}

setup();

function startTimer() {

    // wait 10 seconds before calling goInactive

    timeoutID = window.setTimeout(goInactive, 10000);

}

function resetTimer(e) {

    window.clearTimeout(timeoutID);

    goActive();

}

function goInactive() {

    alert("you will be taken to home page");

//do something again

window.location.href = "http://localhost:4502/content/forms/af/test.html";

}

function goActive() {

       // do something

       

    startTimer();

}

2 replies

Mayank_Gandhi
Mayank_GandhiAccepted solution
Employee
August 8, 2018

No OOTB component available for such use case, but should be easily achievable via JS.

One example can be handling events on form initialize and adding to the Timer based on the Events :

var timeoutID;

function setup() {

    this.addEventListener("mousemove", resetTimer, false);

    this.addEventListener("mousedown", resetTimer, false);

    this.addEventListener("keypress", resetTimer, false);

    this.addEventListener("DOMMouseScroll", resetTimer, false);

    this.addEventListener("touchmove", resetTimer, false);

    this.addEventListener("MSPointerMove", resetTimer, false);

    startTimer();

}

setup();

function startTimer() {

    // wait 10 seconds before calling goInactive

    timeoutID = window.setTimeout(goInactive, 10000);

}

function resetTimer(e) {

    window.clearTimeout(timeoutID);

    goActive();

}

function goInactive() {

    alert("you will be taken to home page");

//do something again

window.location.href = "http://localhost:4502/content/forms/af/test.html";

}

function goActive() {

       // do something

       

    startTimer();

}

smacdonald2008
New Participant
August 8, 2018

I do not believe there is for AEM forms. For this use case - you would need to build a custom component. For example, such a component could be implemented using JQUERY - jQuery setTimeout() Function Examples — SitePoint