X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fdbdc0cdecb027265dccef0810b189e578cb8c60..0f92cdd76a8ecc456e0ab068abce468e3a169bc0:/apps/workbench/app/views/users/setup_popup.js.erb diff --git a/apps/workbench/app/views/users/setup_popup.js.erb b/apps/workbench/app/views/users/setup_popup.js.erb index 77213d44c2..5671cc2d9c 100644 --- a/apps/workbench/app/views/users/setup_popup.js.erb +++ b/apps/workbench/app/views/users/setup_popup.js.erb @@ -1 +1,44 @@ $("#user-setup-modal-window").html("<%= escape_javascript(render partial: 'setup_popup') %>"); + +// disable the submit button on load +var $input = $('input:text'), +$register = $('#register'); + +var email_disabled = document.forms["setup_form"]["email"].disabled; +var email_value = document.forms["setup_form"]["email"].value; +var prefix_value = document.forms["setup_form"]["openid_prefix"].value; +if ((email_disabled == false) && (email_value == null || email_value == "" || + prefix_value == null || prefix_value == "")) { + $register.attr('disabled', true); +} + +// capture events to enable submit button when applicable +$input.on('keyup paste mouseleave', function() { + var trigger = false; + + var email_disabled = document.forms["setup_form"]["email"].disabled; + var email_value = document.forms["setup_form"]["email"].value; + var prefix_value = document.forms["setup_form"]["openid_prefix"].value; + + var emailRegExp = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; + var validEmail = false; + + if (emailRegExp.test(email_value )) { + validEmail = true; + } + + if ((email_disabled == false) && (!validEmail || email_value == null || + email_value == "" || prefix_value == null || prefix_value == "")){ + trigger = true; + } + + trigger ? $register.attr('disabled', true) : $register.removeAttr('disabled'); +}); + +// reset form input fields, for the next time around +function reset_form() { + $('#email').val(""); + $('#openid_prefix').val(""); + $('#repo_name').val(""); + $('select').val('') +}