Module: Decidim::Proposals::ProposalsHelper
- Defined in:
- app/helpers/decidim/proposals/proposals_helper.rb
Overview
Simple helpers to handle markup variations for proposals
Instance Method Summary collapse
- #card_size_for_view_mode(view_mode) ⇒ Object
- #proposal_has_costs? ⇒ Boolean
- #proposal_reason_callout_announcement ⇒ Object
- #proposals_container_class(view_mode) ⇒ Object
- #resource_version(resource, options = {}) ⇒ Object
- #toggle_view_mode_link(current_mode, target_mode, title, params) ⇒ Object
Instance Method Details
#card_size_for_view_mode(view_mode) ⇒ Object
37 38 39 |
# File 'app/helpers/decidim/proposals/proposals_helper.rb', line 37 def card_size_for_view_mode(view_mode) view_mode == "grid" ? :g : nil end |
#proposal_has_costs? ⇒ Boolean
14 15 16 |
# File 'app/helpers/decidim/proposals/proposals_helper.rb', line 14 def proposal_has_costs? @proposal.cost.present? end |
#proposal_reason_callout_announcement ⇒ Object
7 8 9 10 11 12 |
# File 'app/helpers/decidim/proposals/proposals_helper.rb', line 7 def proposal_reason_callout_announcement { title: translated_attribute(@proposal.proposal_state&.announcement_title), body: decidim_sanitize_editor_admin(translated_attribute(@proposal.answer)) } end |
#proposals_container_class(view_mode) ⇒ Object
33 34 35 |
# File 'app/helpers/decidim/proposals/proposals_helper.rb', line 33 def proposals_container_class(view_mode) view_mode == "grid" ? "card__grid-grid" : "card__list-list" end |
#resource_version(resource, options = {}) ⇒ Object
41 42 43 44 45 |
# File 'app/helpers/decidim/proposals/proposals_helper.rb', line 41 def resource_version(resource, = {}) return unless resource.respond_to?(:amendable?) && resource.amendable? super end |
#toggle_view_mode_link(current_mode, target_mode, title, params) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/helpers/decidim/proposals/proposals_helper.rb', line 18 def toggle_view_mode_link(current_mode, target_mode, title, params) path = proposals_path(params.permit(:order, filter: {}).merge({ view_mode: target_mode })) icon_name = target_mode == "grid" ? "layout-grid-fill" : "list-check" if current_mode == target_mode link_to path, remote: true, role: "button", "aria-current": true, title: do icon(icon_name, class: "view-icon", role: "img", "aria-hidden": true) end else link_to path, remote: true, role: "button", title: do icon(icon_name, class: "view-icon--disabled", role: "img", "aria-hidden": true) end end end |