Decidim Toggle
Register organization settings tabs for Decidim modules—one form, one command, one read API per gem.
Contents
Quick start
Add a settings tab in three steps:
- Form — include
Decidim::Toggle::ModuleConfigForm, setmodule_config_name, declare attributes.
module MyModule
class AdminConfigForm < Decidim::Form
include Decidim::Toggle::ModuleConfigForm
self.module_config_name = "my_module"
mimic :organization
attribute :enabled, :boolean
end
end
- Register — in your engine, after
decidim_toggle.organization_settings_tabs:
initializer "decidim_my_module.organization_settings_tab", after: "decidim_toggle.organization_settings_tabs" do
Decidim::Toggle.settings_tabs :organization_settings do |tabs|
tabs.add_tab :my_module, "My module",
form: MyModule::AdminConfigForm,
command: Decidim::Toggle::UpdateModuleConfigCommand,
module_name: :my_module
end
end
- Read —
Decidim::Toggle.config_for(organization, :my_module).
Optional view partial: form_layout_partial: on add_tab — see Customize views.
Full walkthrough: Add a settings tab.
Host app install
gem "decidim-toggle"
bundle install
rails decidim_toggle:install:migrations
rails db:migrate
Documentation
octree-gva.github.io/decidim-toggle — integrator guides (registration, views, storage) and contributor docs.
Development (this gem)
Docker + ./bin/check (RuboCop, erblint, RSpec) — see CONTRIBUTING.md and Contribute.
Support
GitLab issues for bugs and integration questions.
Contributing
Pull requests welcome. Read CONTRIBUTING.md before opening a merge request.