install.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. if (document.getElementById('type').value === 'sqlite') {
  43. document.getElementById('host').value = '';
  44. document.getElementById('user').value = '';
  45. document.getElementById('pass').value = '';
  46. document.getElementById('base').value = '';
  47. document.getElementById('prefix').value = '';
  48. mysql.style.display = 'none';
  49. } else {
  50. mysql.style.display = 'block';
  51. }
  52. }
  53. }
  54. var bd_type = document.getElementById('type');
  55. if (bd_type) {
  56. mySqlShowHide();
  57. bd_type.addEventListener('change', mySqlShowHide);
  58. }
  59. function ask_confirmation(e) {
  60. var str_confirmation = this.getAttribute('data-str-confirm');
  61. if (!confirm(str_confirmation)) {
  62. e.preventDefault();
  63. }
  64. }
  65. var confirms = document.getElementsByClassName('confirm');
  66. for (var i = 0 ; i < confirms.length ; i++) {
  67. confirms[i].addEventListener('click', ask_confirmation);
  68. }