I have an unusual requirement at a client that requires a timeout if the user does not interact with a specific form for a certain amount of minutes (the time for the timeout is parameterized in a parameters form). Essentially if nothing is clicked/saved/interacted with on the form, it triggers a call to a menu item and bring the user to a landing page form.
My question: Is there a master or parent event that I could write that will capture all of the events of a specific form along with all formdatasources and formcontrols that would allow the timer to reset as long as the user is interacting with and using the form to prevent the timeout and page change from occuring prematurely if the user is still using the form?
I've tried post handler on FormControl.lostFocus(), but that is denied.
[PostHandlerFor(classStr(FormControl), methodStr(FormControl, lostFocus))]
public static void SNS_FormControl_Post_lostFocus(XppPrePostArgs args)
{
}
I've also checked out the FormRun class, tried to see if subscribing to the onTask() delegate would provide any benefit (it didn't).
I have not thoroughly looked at FormRun but I'm worried that I'll have to resort to subscribing to a ridiculous amount of events both on the form controls and on the form datasources just to capture enough "interaction" events.