diff options
author | azul <azul@riseup.net> | 2017-03-23 11:00:40 +0000 |
---|---|---|
committer | azul <azul@riseup.net> | 2017-03-23 11:00:40 +0000 |
commit | fca8411e2359eafd4c50dbb6a6b8539a7e8593c7 (patch) | |
tree | e89e5ebee660b44e30c59c737bac8b78190cb9af /app/assets | |
parent | 96c3123b9a30df3d7750b1f8e4bda2aba3d1fcb7 (diff) | |
parent | c828d0164a43c169775ae107be3fd4409d6c3ecb (diff) |
Merge branch 'bugfix/ticket-validations' into 'master'
fix: keep ticket submit button clickable
See merge request !27
Diffstat (limited to 'app/assets')
-rw-r--r-- | app/assets/javascripts/buttons.js | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/app/assets/javascripts/buttons.js b/app/assets/javascripts/buttons.js index 7142957..aaa9911 100644 --- a/app/assets/javascripts/buttons.js +++ b/app/assets/javascripts/buttons.js @@ -5,12 +5,12 @@ * * Some form inputs are validaded before the submission * so triggering loading state on click events is not a - * good idea. If the validation fails the errors will + * good idea. If the validation fails the errors will * be displayed but the button would be in loading state. * * We used to trigger it based on form submission but * we have a few forms that contain multiple buttons. - * So now we mark the buttons as clicked on click and + * So now we mark the buttons as clicked on click and * put the clicked button into loading state on submit. * */ @@ -26,14 +26,19 @@ markAsLoading = function(submitEvent) { var form = submitEvent.target; - $(form).addClass('submitted') - // bootstrap loading state: - $(form).find('.btn.clicked[type="submit"]').button('loading'); + var validations = form.ClientSideValidations + + if ( ( typeof validations === 'undefined' ) || + $(form).isValid(validations.settings.validators) ) { + $(form).addClass('submitted') + // bootstrap loading state: + $(form).find('.btn.clicked[type="submit"]').button('loading'); + } }; $(document).ready(function() { $('form').submit(markAsLoading); $('.btn[type="submit"]').click(markAsClicked); }); - + }).call(this); |