Sha256: 6147e13f3fe2f5bf1cefa04ab0c1cbbedb0a5a515b5e1a4d8a01db0677c4acd2

Contents?: true

Size: 1.25 KB

Versions: 7

Compression:

Stored size: 1.25 KB

Contents

((exports) => {
  class SubformMultiTogglerComponent {
    constructor(options = {}) {
      this.controllerSelect = options.controllerSelect;
      this.subformWrapperClass = options.subformWrapperClass;
      this.globalWrapperSelector = options.globalWrapperSelector;
      this._bindEvent();
      this._runAll();
    }

    _runAll() {
      this.controllerSelect.each((idx, el) => {
        this.run(el);
      });
    }

    run(target) {
      let $target = $(target);
      let subformWrapperClass = this.subformWrapperClass;
      let value = $target.val();

      let $form = $target.parents(this.globalWrapperSelector);
      let $selectedSubform = $form.find(`#${subformWrapperClass}-${value}`)

      if ($target.prop("checked")) {
        $selectedSubform.find("input,textarea,select").prop("disabled", false);
        $selectedSubform.show();
      } else {
        $selectedSubform.find("input,textarea,select").prop("disabled", true);
        $selectedSubform.hide();
      }
    }

    _bindEvent() {
      this.controllerSelect.on("change", (event) => {
        this.run(event.target);
      });
    }
  }

  exports.DecidimAdmin = exports.DecidimAdmin || {};
  exports.DecidimAdmin.SubformMultiTogglerComponent = SubformMultiTogglerComponent;
})(window);

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-admin-0.24.3 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.23.6 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.24.2 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.24.1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.24.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.24.0.rc2 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.24.0.rc1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6