From 8dbca47eeab365aa9a21a8707e495c540dab8632 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 27 Oct 2021 09:10:07 +0200 Subject: [PATCH 3/3] js: prevent autosave while user is active (#58208) --- wcs/qommon/static/js/qommon.forms.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/wcs/qommon/static/js/qommon.forms.js b/wcs/qommon/static/js/qommon.forms.js index 09faf3f2..3a915c89 100644 --- a/wcs/qommon/static/js/qommon.forms.js +++ b/wcs/qommon/static/js/qommon.forms.js @@ -130,7 +130,7 @@ $(function() { if ($form.hasClass('disabled-during-submit')) return; var new_auto_save = $form.serialize(); if (last_auto_save == new_auto_save) { - autosave_timeout_id = window.setTimeout(autosave, 5000); + debounce_autosave(); return; } $.ajax({ @@ -143,11 +143,20 @@ $(function() { } }, complete: function() { - autosave_timeout_id = window.setTimeout(autosave, 5000); + debounce_autosave(); } }); } - autosave_timeout_id = window.setTimeout(autosave, 5000); + + function debounce_autosave() { + window.clearTimeout(autosave_timeout_id); + autosave_timeout_id = window.setTimeout(autosave, 8000); + } + + $(document).on('mouseover scroll keydown', debounce_autosave); + + debounce_autosave(); + $('#tracking-code a').on('click', autosave); $(document).on('wcs:set-last-auto-save', function() { last_auto_save = $('form[data-has-draft]').serialize(); -- 2.33.0