install.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. "use strict";
  2. /* jshint globalstrict: true */
  3. function show_password() {
  4. var button = this;
  5. var passwordField = document.getElementById(button.getAttribute('data-toggle'));
  6. passwordField.setAttribute('type', 'text');
  7. button.className += ' active';
  8. return false;
  9. }
  10. function hide_password() {
  11. var button = this;
  12. var passwordField = document.getElementById(button.getAttribute('data-toggle'));
  13. passwordField.setAttribute('type', 'password');
  14. button.className = button.className.replace(/(?:^|\s)active(?!\S)/g , '');
  15. return false;
  16. }
  17. var toggles = document.getElementsByClassName('toggle-password');
  18. for (var i = 0 ; i < toggles.length ; i++) {
  19. toggles[i].addEventListener('mousedown', show_password);
  20. toggles[i].addEventListener('mouseup', hide_password);
  21. }
  22. function auth_type_change() {
  23. var auth_type = document.getElementById('auth_type');
  24. if (auth_type) {
  25. var auth_value = auth_type.value,
  26. password_input = document.getElementById('passwordPlain');
  27. if (auth_value === 'form') {
  28. password_input.required = true;
  29. } else {
  30. password_input.required = false;
  31. }
  32. }
  33. }
  34. var auth_type = document.getElementById('auth_type');
  35. if (auth_type) {
  36. auth_type_change();
  37. auth_type.addEventListener('change', auth_type_change);
  38. }
  39. function mySqlShowHide() {
  40. var mysql = document.getElementById('mysql');
  41. if (mysql) {
  42. mysql.style.display = document.getElementById('type').value === 'mysql' ? 'block' : 'none';
  43. if (document.getElementById('type').value !== 'mysql') {
  44. document.getElementById('host').value = '';
  45. document.getElementById('user').value = '';
  46. document.getElementById('pass').value = '';
  47. document.getElementById('base').value = '';
  48. document.getElementById('prefix').value = '';
  49. }
  50. }
  51. }
  52. var bd_type = document.getElementById('type');
  53. if (bd_type) {
  54. mySqlShowHide();
  55. bd_type.addEventListener('change', mySqlShowHide);
  56. }
  57. function ask_confirmation(e) {
  58. var str_confirmation = this.getAttribute('data-str-confirm');
  59. if (!confirm(str_confirmation)) {
  60. e.preventDefault();
  61. }
  62. }
  63. var confirms = document.getElementsByClassName('confirm');
  64. for (var i = 0 ; i < confirms.length ; i++) {
  65. confirms[i].addEventListener('click', ask_confirmation);
  66. }