Merge branch 'master' into 3193-manage-account
[arvados.git] / apps / workbench / app / views / users / add_ssh_key_popup.js.erb
1 $("#add-ssh-key-modal-window").html("<%= escape_javascript(render partial: 'add_ssh_key_popup') %>");
2
3 // disable the submit button on load
4 var $input = $('input:text'),
5 $register = $('#register');
6
7 var name_value = document.forms["add_new_key_form"]["name"].value;
8 var public_key_value = document.forms["add_new_key_form"]["public_key"].value;
9 if (public_key_value == null || public_key_value == "") {
10   $register.attr('disabled', true);
11 }
12
13 // capture events to enable submit button when applicable
14 $input.on('keyup paste mouseleave onblur', function() {
15   var trigger = false;
16
17   var name_value = document.forms["add_new_key_form"]["name"].value;
18   var public_key_value = document.forms["add_new_key_form"]["public_key"].value;
19
20   var publicKeyRegExp = /^ssh-(rsa|dss) [A-Za-z0-9+\/=\+]+\b/;
21   var validKey = false;
22  
23   if (publicKeyRegExp.test(public_key_value )) {
24     validKey = true;
25   }
26
27   if (public_key_value == null || public_key_value == "" || !validKey){
28     trigger = true;
29   }
30
31   trigger ? $register.attr('disabled', true) : $register.removeAttr('disabled');
32 });
33
34 // reset form input fields, for the next time around
35 function reset_form() {
36   $('#name').val("");
37   $('#public_key').val("");
38   $('select').val('')
39 }