All files / app/assets/javascripts/pages/projects/pages_domains form.js

100% Statements 16/16
83.33% Branches 5/6
100% Functions 5/5
100% Lines 16/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35      12x 12x 6x   6x           7x 7x   7x 7x 6x 6x   6x 6x 3x   3x       6x     7x    
import { initToggle } from '~/toggles';
 
function updateVisibility(selector, isVisible) {
  Array.from(document.querySelectorAll(selector)).forEach((el) => {
    if (isVisible) {
      el.classList.remove('d-none');
    } else {
      el.classList.add('d-none');
    }
  });
}
 
export default () => {
  const sslToggle = initToggle(document.querySelector('.js-enable-ssl-gl-toggle'));
  const sslToggleInput = document.querySelector('.js-project-feature-toggle-input');
 
  Eif (sslToggle) {
    sslToggle.$on('change', (isAutoSslEnabled) => {
      updateVisibility('.js-shown-unless-auto-ssl', !isAutoSslEnabled);
      updateVisibility('.js-shown-if-auto-ssl', isAutoSslEnabled);
 
      Array.from(document.querySelectorAll('.js-enabled-unless-auto-ssl')).forEach((el) => {
        if (isAutoSslEnabled) {
          el.setAttribute('disabled', 'disabled');
        } else {
          el.removeAttribute('disabled');
        }
      });
 
      sslToggleInput.setAttribute('value', isAutoSslEnabled);
    });
  }
  return sslToggle;
};