syncEmailValues.js 851 B

1234567891011121314151617181920212223
  1. import { debounce } from './helpers';
  2. // Synchronizes the "Email" input value with "Email login credentials to" input value
  3. // based on the "Send welcome email" checkbox state on Add User page
  4. export default function handleSyncEmailValues() {
  5. const emailInput = document.querySelector('.js-sync-email-input');
  6. const sendWelcomeEmailCheckbox = document.querySelector('.js-sync-email-checkbox');
  7. const emailCredentialsToInput = document.querySelector('.js-sync-email-output');
  8. if (!emailInput || !sendWelcomeEmailCheckbox || !emailCredentialsToInput) {
  9. return;
  10. }
  11. function syncEmailValues() {
  12. emailCredentialsToInput.value = sendWelcomeEmailCheckbox.checked ? emailInput.value : '';
  13. }
  14. emailInput.addEventListener(
  15. 'input',
  16. debounce(() => syncEmailValues())
  17. );
  18. sendWelcomeEmailCheckbox.addEventListener('change', syncEmailValues);
  19. }