actions.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. (function () {
  2. var allSelect = document.querySelectorAll('.select');
  3. var allToDisplay = document.querySelectorAll('.toDisplay');
  4. var allToDisplayBig = document.querySelectorAll('.toDisplayBig');
  5. var removeAllOptions = function () {
  6. for (var a of allToDisplay) {
  7. if (a.style.display == 'block') {
  8. a.style.display = 'none';
  9. }
  10. }
  11. for (var b of allToDisplayBig) {
  12. if (b.style.display == 'block') {
  13. b.style.display = 'none';
  14. }
  15. }
  16. }
  17. // Remove displayed options
  18. window.addEventListener('click', function () {
  19. removeAllOptions();
  20. });
  21. // Handle click on select elements
  22. for (var s of allSelect) {
  23. // Get child called to display
  24. s.addEventListener('click', function (e) {
  25. var toDisplay = this.querySelector('.toDisplay');
  26. if (toDisplay) {
  27. if (toDisplay.style.display == 'block') {
  28. toDisplay.style.display = 'none';
  29. } else {
  30. removeAllOptions();
  31. toDisplay.style.display = 'block';
  32. }
  33. }
  34. toDisplay = this.querySelector('.toDisplayBig');
  35. if (toDisplay) {
  36. if (toDisplay.style.display == 'block') {
  37. toDisplay.style.display = 'none';
  38. } else {
  39. removeAllOptions();
  40. toDisplay.style.display = 'block';
  41. }
  42. }
  43. e.preventDefault();
  44. e.stopPropagation();
  45. });
  46. }
  47. document.querySelector('#safemodeToggle').addEventListener('click', function () {
  48. this.classList.toggle('checked');
  49. if (this.classList.contains('checked')) {
  50. this.innerHTML = 'Safe mode <i class="fa fa-check-square" aria-hidden="true"></i>';
  51. } else {
  52. this.innerHTML = 'Safe mode <i class="fa fa-square-o" aria-hidden="true"></i>';
  53. }
  54. })
  55. })();