diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-18 23:02:30 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-03-18 23:02:30 +0300 |
commit | 41fe97390ceddf945f3d967b8fdb3de4c66b7dea (patch) | |
tree | 9c8d89a8624828992f06d892cd2f43818ff5dcc8 /app/assets/javascripts/dirty_submit | |
parent | 0804d2dc31052fb45a1efecedc8e06ce9bc32862 (diff) |
Add latest changes from gitlab-org/gitlab@14-9-stable-eev14.9.0-rc42
Diffstat (limited to 'app/assets/javascripts/dirty_submit')
-rw-r--r-- | app/assets/javascripts/dirty_submit/dirty_submit_form.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/assets/javascripts/dirty_submit/dirty_submit_form.js b/app/assets/javascripts/dirty_submit/dirty_submit_form.js index db13daf0799..83dd4b0a124 100644 --- a/app/assets/javascripts/dirty_submit/dirty_submit_form.js +++ b/app/assets/javascripts/dirty_submit/dirty_submit_form.js @@ -1,11 +1,13 @@ import $ from 'jquery'; import { memoize, throttle } from 'lodash'; +import createEventHub from '~/helpers/event_hub_factory'; class DirtySubmitForm { constructor(form) { this.form = form; this.dirtyInputs = []; this.isDisabled = true; + this.events = createEventHub(); this.init(); } @@ -36,11 +38,21 @@ class DirtySubmitForm { this.form.addEventListener('submit', (event) => this.formSubmit(event)); } + addInputsListener(callback) { + this.events.$on('input', callback); + } + + removeInputsListener(callback) { + this.events.$off('input', callback); + } + updateDirtyInput(event) { const { target } = event; if (!target.dataset.isDirtySubmitInput) return; + this.events.$emit('input', event); + this.updateDirtyInputs(target); this.toggleSubmission(); } |