Sha256: 24db824a9a96ff213b04abd975fd132a4c10c7c962d8ed2668b1eea2257cdb87

Contents?: true

Size: 1.23 KB

Versions: 18

Compression:

Stored size: 1.23 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").prop("disabled", false);
        $selectedSubform.show();
      } else {
        $selectedSubform.find("input,textarea").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

18 entries across 18 versions & 1 rubygems

Version Path
decidim-admin-0.23.5 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.23.4 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.23.3 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.23.2 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.23.1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.23.1.rc1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.23.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.22.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.21.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.20.1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.20.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.19.1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.18.1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.19.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.17.2 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.18.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.17.1 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6
decidim-admin-0.17.0 app/assets/javascripts/decidim/admin/subform_multi_toggler.component.js.es6