Class: Decidim::Proposals::ProposalsPickerCell
- Inherits:
-
ViewModel
- Object
- Cell::ViewModel
- ViewModel
- Decidim::Proposals::ProposalsPickerCell
- Defined in:
- decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb
Overview
This cell renders a proposals picker.
Constant Summary collapse
- MAX_PROPOSALS =
1000
Constants included from AmendmentsHelper
Instance Method Summary collapse
- #decorated_proposals ⇒ Object
- #field ⇒ Object
- #form ⇒ Object
- #form_name ⇒ Object
- #method_name ⇒ Object
- #proposals ⇒ Object
- #selected_ids ⇒ Object
- #show ⇒ Object
Methods inherited from ViewModel
#call, #current_user, #view_context
Methods included from IconHelper
#component_icon, #manifest_icon, #resource_icon, #resource_type_icon, #resource_type_icon_key, #text_with_resource_icon
Methods included from LayoutHelper
#_icon_classes, #apple_favicon, #application_path, #current_url, #current_user_unread_data, #extended_navigation_bar, #external_icon, #favicon, #icon, #legacy_favicon, #role
Methods included from TooltipHelper
Methods included from ModalHelper
#decidim_drawer, #decidim_modal
Methods included from OrganizationHelper
#current_organization_name, #organization_colors, #organization_description_label, #organization_name
Methods included from TranslatableAttributes
Methods included from ApplicationHelper
#add_body_classes, #cell, #edit_link, #extra_admin_link, #html_truncate, #present, #prevent_timeout_seconds, #resolve_presenter_class, #text_initials
Methods included from CacheHelper
Methods included from AmendmentsHelper
#accept_and_reject_buttons_for, #action_button_card_for, #allowed_to_accept_and_reject?, #allowed_to_promote?, #amendments_enabled?, #amendments_form_field_for, #amendments_form_fields_label, #amendments_form_fields_value, #can_participate_in_private_space?, #can_react_to_emendation?, #current_step, #emendation_actions_for, #emendation_announcement_for, #promote_button_for, #render_emendation_body, #total_steps, #wizard_aside_back_url, #wizard_header_title
Methods included from RichTextEditorHelper
Methods included from ContextualHelpHelper
Methods included from ScopesHelper
#has_visible_scopes?, #scope_name_for_picker, #scopes_picker_field, #scopes_picker_filter, #scopes_select_field, #scopes_select_tag
Methods included from DecidimFormHelper
#areas_for_select, #base_error_messages, #decidim_form_for, #decidim_form_slug_url, #editor_field_tag, #form_field_has_error?, #form_required_explanation, #name_with_locale, #ordered_scopes_descendants, #ordered_scopes_descendants_for_select, #scopes_picker_field_tag, #tab_element_class_for, #translated_field_tag
Methods included from OmniauthHelper
#normalize_provider_name, #oauth_icon, #provider_name
Methods included from SanitizeHelper
#decidim_escape_translated, #decidim_html_escape, #decidim_rich_text, #decidim_sanitize, #decidim_sanitize_admin, #decidim_sanitize_editor, #decidim_sanitize_editor_admin, #decidim_sanitize_newsletter, #decidim_sanitize_translated, #decidim_url_escape, included
Methods included from MarkupHelper
Methods included from ReplaceButtonsHelper
Methods included from ActionAuthorizationHelper
#action_authorized_button_to, #action_authorized_link_to, #logged_button_to, #logged_link_to
Methods included from ResourceHelper
#linked_classes_filter_values_for, #linked_classes_for, #resource_locator
Instance Method Details
#decorated_proposals ⇒ Object
45 46 47 48 49 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 45 def decorated_proposals proposals.limit(MAX_PROPOSALS).each do |proposal| yield Decidim::Proposals::ProposalPresenter.new(proposal) end end |
#field ⇒ Object
21 22 23 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 21 def field [:field] end |
#form ⇒ Object
17 18 19 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 17 def form [:form] end |
#form_name ⇒ Object
25 26 27 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 25 def form_name "#{form.object_name}[#{method_name}]" end |
#method_name ⇒ Object
29 30 31 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 29 def method_name field.to_s.sub(/s$/, "_ids") end |
#proposals ⇒ Object
37 38 39 40 41 42 43 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 37 def proposals @proposals ||= Decidim.find_resource_manifest(:proposals).try(:resource_scope, component) &.includes(:component) &.published &.not_hidden &.order(id: :asc) end |
#selected_ids ⇒ Object
33 34 35 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 33 def selected_ids form.object.send(method_name) end |
#show ⇒ Object
11 12 13 |
# File 'decidim-proposals/app/cells/decidim/proposals/proposals_picker_cell.rb', line 11 def show render end |