Sha256: 81603fb3d1229a659749e9ad64d7aa3f21a98e4b56714e8004fab8e094c3933f

Contents?: true

Size: 1.49 KB

Versions: 12

Compression:

Stored size: 1.49 KB

Contents

# frozen_string_literal: true

module Decidim
  module ParticipatorySpaceHelpers
    # Public: This method gets exposed on all controllers that have `ParticipatorySpaceContext`
    # included as a module.
    #
    # Through this method, you can access helpers that are unique to a particular participatory
    # space. These helpers are defined in the participatory space manifest, via the `context`
    # helper.
    #
    # Example:
    #
    #     # If you had a `ParticipatoryProcessHelper` with a `participatory_process_header` method
    #     participatory_process_helpers.participatory_process_header(current_participatory_space)
    #
    # Returns an Object that includes the Helpers as public methods.
    def participatory_space_helpers
      return @participatory_space_helpers if defined?(@participatory_space_helpers)

      helper = current_participatory_space_manifest.context(current_participatory_space_context).helper

      klass = Class.new(SimpleDelegator) do
        include helper.constantize if helper
      end

      @participatory_space_helpers = klass.new(self)
    end

    def participatory_space_floating_help
      return if help_section.blank?

      content_tag "div", class: "row collapse" do
        floating_help(help_id) { translated_attribute(help_section).html_safe }
      end
    end

    def participatory_space_wrapper(&block)
      content_tag :main, class: "wrapper" do
        concat(participatory_space_floating_help)
        concat(capture(&block))
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
decidim-core-0.21.0 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.20.1 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.20.0 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.19.1 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.18.1 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.19.0 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.17.2 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.18.0 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.17.1 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.16.1 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.17.0 app/helpers/decidim/participatory_space_helpers.rb
decidim-core-0.16.0 app/helpers/decidim/participatory_space_helpers.rb