From c7aaf102f4bd8047fcae05a3364df89648acf9fe Mon Sep 17 00:00:00 2001 From: Jeroen De Meerleer Date: Wed, 15 Mar 2023 12:36:21 +0100 Subject: [PATCH] BUGFIX: don't call functions twice --- assets/js/job/index.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/assets/js/job/index.js b/assets/js/job/index.js index e400dba..c38048d 100644 --- a/assets/js/job/index.js +++ b/assets/js/job/index.js @@ -64,16 +64,24 @@ function initRunButtons() { var bsModal = new Modal('#run_selecttime'); bsModal.show(); - document.querySelectorAll('.schedule').forEach(elem => elem.addEventListener("click", event => { + let schedulefn = event => { bsModal.hide(); let time = Math.floor(selecttimedatepicker.viewDate / 1000); run(me, time); - }, { once: true } )); - document.querySelectorAll('.run-now').forEach(elem => elem.addEventListener("click", event => { + } + let runnowfn = event => { bsModal.hide(); run(me); - }, { once: true } )); - })); + } + let closebtnfn = event => { + bsModal.hide(); + document.querySelectorAll('.schedule').forEach(elem => elem.removeEventListener("click", schedulefn)); + document.querySelectorAll('.run-now').forEach(elem => elem.removeEventListener("click",runnowfn)); + } + document.querySelectorAll('.schedule').forEach(elem => elem.addEventListener("click", schedulefn, { once: true } )); + document.querySelectorAll('.run-now').forEach(elem => elem.addEventListener("click", runnowfn, { once: true } )); + document.querySelectorAll('.btn-close').forEach(elem => elem.addEventListener("click", closebtnfn )); + } )); } function run(elem, time = 0) { let href = elem.dataset.href;