install.js 2.3 KB

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