Index: openacs-4/packages/acs-templating/acs-templating.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/acs-templating.info,v diff -u -r1.66.2.41 -r1.66.2.42 --- openacs-4/packages/acs-templating/acs-templating.info 1 Nov 2022 16:13:51 -0000 1.66.2.41 +++ openacs-4/packages/acs-templating/acs-templating.info 2 Nov 2022 17:04:21 -0000 1.66.2.42 @@ -9,7 +9,7 @@ f t - + OpenACS Templating library. 2021-09-15 @@ -27,14 +27,16 @@ GPL version 2 3 - + + + DefaultPreventDoubleClickTimeoutMs Index: openacs-4/packages/acs-templating/tcl/head-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/head-procs.tcl,v diff -u -r1.45.2.35 -r1.45.2.36 --- openacs-4/packages/acs-templating/tcl/head-procs.tcl 7 Oct 2022 11:13:02 -0000 1.45.2.35 +++ openacs-4/packages/acs-templating/tcl/head-procs.tcl 2 Nov 2022 17:04:21 -0000 1.45.2.36 @@ -976,7 +976,11 @@ ad_proc -private template::register_double_click_handler {} { } { - template::add_body_script -script [ns_trim { + set default_timeout [parameter::get_from_package_key \ + -package_key acs-templating \ + -parameter DefaultPreventDoubleClickTimeoutMs \ + -default 2000] + template::add_body_script -script [subst -nobackslashes -nocommands [ns_trim { function oacs_reenable_double_click_handler(target) { if ( target.dataset.oacsClicked == 'true') { target.dataset.oacsClicked = false; @@ -997,7 +1001,7 @@ } else { target.dataset.oacsClicked = true; target.classList.add("disabled"); - let timeout = target.dataset.oacsTimeout || 1000; + let timeout = target.dataset.oacsTimeout || $default_timeout; console.log('reactivate in ' + timeout); setTimeout(function() {oacs_reenable_double_click_handler(target);}, timeout); setTimeout(function() {target.disabled = true;}); @@ -1013,7 +1017,7 @@ e.dataset.oacsDoubleClickHandlerRegistered = true; } }; - }] + }]] } ad_proc template::get_body_event_handlers {