Sha256: be496235ad0eaa11ecbbc0872ad9dda8f9908111d7e52a8895b3a565d2edca07

Contents?: true

Size: 1.22 KB

Versions: 7

Compression:

Stored size: 1.22 KB

Contents

((exports) => {
  class SubformTogglerComponent {
    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 $subforms = $form.find(`.${subformWrapperClass}`);
      let $selectedSubform = $subforms.filter(`#${subformWrapperClass}-${value}`)

      $subforms.find("input,textarea,select").prop("disabled", true);
      $subforms.hide();

      $selectedSubform.find("input,textarea,select").prop("disabled", false);
      $selectedSubform.show();
    }

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

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

Version data entries

7 entries across 7 versions & 1 rubygems

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