From 1aa54636b6dad5bf98e28fe08828f496003d880d Mon Sep 17 00:00:00 2001 From: Felix Hamann Date: Fri, 12 Apr 2019 22:09:59 +0200 Subject: [PATCH] move massinput js logic to shakespeare widget --- static/js/utils/inputs.js | 27 -------------------- templates/widgets/massinput/massinput.julius | 20 +++++++++++++-- 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/static/js/utils/inputs.js b/static/js/utils/inputs.js index d332daaa1..d5d7ee5a1 100644 --- a/static/js/utils/inputs.js +++ b/static/js/utils/inputs.js @@ -197,31 +197,4 @@ if (UtilRegistry) { inputUtilities.forEach(UtilRegistry.register); } - - // FH: leaving this as it is to be able to understand whats going on - - // Override implicit submit (pressing enter) behaviour to trigger a specified submit button instead of the default - window.utils.implicitSubmit = function(input, options) { - var submit = options.submit; - - if (!submit) { - throw new Error('window.utils.implicitSubmit(input, options) needs to be passed a submit element via options'); - } - - var doSubmit = function(event) { - if (event.keyCode == 13) { - event.preventDefault(); - submit.click(); - } - }; - - input.addEventListener('keypress', doSubmit); - - return { - scope: input, - destroy: function() { - input.removeEventListener('keypress', doSubmit); - }, - }; - } })(); diff --git a/templates/widgets/massinput/massinput.julius b/templates/widgets/massinput/massinput.julius index 219636e59..3c6c2a25b 100644 --- a/templates/widgets/massinput/massinput.julius +++ b/templates/widgets/massinput/massinput.julius @@ -6,7 +6,7 @@ document.addEventListener('DOMContentLoaded', function() { var cellInputs = Array.from(form.querySelectorAll('.massinput--cell input:not([type=hidden])')); cellInputs.forEach(function(input) { - window.utils.setup('implicitSubmit', input, { submit: formSubmit }); + makeImplicitSubmit(input, formSubmit); }); @@ -15,7 +15,23 @@ document.addEventListener('DOMContentLoaded', function() { var addInputs = Array.from(wrapper.querySelectorAll('input:not([type=hidden]):not(.btn-mass-input-add)')); addInputs.forEach(function(input) { - window.utils.setup('implicitSubmit', input, { submit: addSubmit }); + makeImplicitSubmit(input, addSubmit); }); }); + + // Override implicit submit (pressing enter) behaviour to trigger a specified submit button instead of the default + function makeImplicitSubmit(input, submit) { + if (!submit) { + throw new Error('implicitSubmit(input, options) needs to be passed a submit element via options'); + } + + var doSubmit = function(event) { + if (event.keyCode == 13) { + event.preventDefault(); + submit.click(); + } + }; + + input.addEventListener('keypress', doSubmit); + } });