Sha256: f53380a7ebac2cdc4cb6b24b0d3faa3dfa54d333f86ffad4c76c3e7d16e7ec2f

Contents?: true

Size: 1.66 KB

Versions: 3

Compression:

Stored size: 1.66 KB

Contents

import PasswordToggler from "./password_toggler";

$(() => {
  const $userRegistrationForm = $("#register-form");
  const $userGroupFields      = $userRegistrationForm.find(".user-group-fields");
  const userPassword         =  document.querySelector(".user-password");
  const inputSelector         = 'input[name="user[sign_up_as]"]';
  const newsletterSelector    = 'input[type="checkbox"][name="user[newsletter]"]';
  const $newsletterModal      = $("#sign-up-newsletter-modal");


  const setGroupFieldsVisibility = (value) => {
    if (value === "user") {
      $userGroupFields.hide();
    } else {
      $userGroupFields.show();
    }
  }

  const checkNewsletter = (check) => {
    $userRegistrationForm.find(newsletterSelector).prop("checked", check);
    $newsletterModal.data("continue", true);
    window.Decidim.currentDialogs["sign-up-newsletter-modal"].close()
    $userRegistrationForm.submit();
  }

  setGroupFieldsVisibility($userRegistrationForm.find(`${inputSelector}:checked`).val());

  $userRegistrationForm.on("change", inputSelector, (event) => {
    const value = event.target.value;

    setGroupFieldsVisibility(value);
  });

  $userRegistrationForm.on("submit", (event) => {
    const newsletterChecked = $userRegistrationForm.find(newsletterSelector);
    if (!$newsletterModal.data("continue")) {
      if (!newsletterChecked.prop("checked")) {
        event.preventDefault();
        window.Decidim.currentDialogs["sign-up-newsletter-modal"].open()
      }
    }
  });

  $newsletterModal.find("[data-check]").on("click", (event) => {
    checkNewsletter($(event.target).data("check"));
  });

  if (userPassword) {
    new PasswordToggler(userPassword).init();
  }
});

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-core-0.28.0 app/packs/src/decidim/user_registrations.js
decidim-core-0.28.0.rc5 app/packs/src/decidim/user_registrations.js
decidim-core-0.28.0.rc4 app/packs/src/decidim/user_registrations.js