Sha256: 3a135ff8701ebec201e81bac4e4e1263953ee9db7199b41ed05967bfe9594fb3

Contents?: true

Size: 967 Bytes

Versions: 20

Compression:

Stored size: 967 Bytes

Contents

((exports) => {
  class OptionAttachedInputsComponent {
    constructor(options = {}) {
      this.wrapperField = options.wrapperField;
      this.controllerFieldSelector = options.controllerFieldSelector;
      this.dependentInputSelector = options.dependentInputSelector;
      this.controllerSelector = this.wrapperField.find(this.controllerFieldSelector);
      this._bindEvent();
      this._run();
    }

    _run() {
      this.controllerSelector.each((idx, el) => {
        const $field = $(el);
        const enabled = $field.is(":checked");

        $field.parents("div.collection-input").find(this.dependentInputSelector).prop("disabled", !enabled);
      });
    }

    _bindEvent() {
      this.controllerSelector.on("change", () => {
        this._run();
      });
    }
  }

  exports.Decidim = exports.Decidim || {};
  exports.Decidim.createOptionAttachedInputs = (options) => {
    return new OptionAttachedInputsComponent(options);
  };
})(window);

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
decidim-forms-0.24.3 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.6 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.24.2 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.5 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.24.1 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.24.0 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.24.0.rc2 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.4 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.24.0.rc1 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.3 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.2 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.1 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.1.rc1 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.23.0 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.22.0 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.21.0 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.20.1 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.20.0 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.19.1 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
decidim-forms-0.19.0 app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6