Sha256: ec19fc263bebda47fbf5eecc53c27180451c0b374533bffc8d69adb6368010ef

Contents?: true

Size: 1.57 KB

Versions: 4

Compression:

Stored size: 1.57 KB

Contents

$(document).on("click", '[data-behaviour="form_submit"]', function (e) {
  e.preventDefault();
  var submit = [];
  var form_class = $(this).data("form-class");
  $(
    "." + form_class + " input.required, ." + form_class + " textarea.required"
  ).each(function () {
    $(this).removeClass("is-invalid");
    if ($(this).val().trim().length === 0) {
      $(this).addClass("is-invalid");
      $(this)[0].scrollIntoView(true);
      submit.push(true);
    }
  });
  $("." + form_class + " select.required").each(function () {
    $(this).removeClass("is-invalid");
    if ($(this).val().trim().length === 0) {
      $(this).parent().find("select").addClass("is-invalid");
      $(this)[0].scrollIntoView(true);
      submit.push(true);
    }
  });
  $(".nested_input_validation").each(function () {
    var class_name;
    class_name = $(this).data("class-name");
    $(this)
      .parents(":nth(1)")
      .find("." + class_name)
      .addClass("hidden");
    if ($(this).val().trim().length === 0) {
      $(this)
        .parents(":nth(1)")
        .find("." + class_name)
        .removeClass("hidden");
      $(this)[0].scrollIntoView(true);
      submit.push(true);
    }
  });
  if (submit.length === 0) {
    $("." + form_class).submit();
    return $('[data-behaviour="form_submit"]').button("loading");
  }
});

$(document).on("change", '[data-behaviour="multiple-checkbox"]', function (e) {
  const inputField = e.target.previousElementSibling;

  if (e.target.checked) {
    inputField.setAttribute("disabled", "disabled");
  } else {
    inputField.removeAttribute("disabled");
  }
});

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cm-admin-1.5.41 app/assets/javascripts/cm_admin/form_validation.js
cm-admin-1.5.40 app/assets/javascripts/cm_admin/form_validation.js
cm-admin-1.5.39 app/assets/javascripts/cm_admin/form_validation.js
cm-admin-1.5.38 app/assets/javascripts/cm_admin/form_validation.js