Class: Decidim::ActivitiesCell
- Includes:
- CardHelper, IconHelper
- Defined in:
- app/cells/decidim/activities_cell.rb
Overview
Renders a collection of activities using a different cell for each one.
Instance Method Summary collapse
- #activities ⇒ Object
- #activity_cell_for(activity) ⇒ Object
- #last_activities ⇒ Object
-
#show ⇒ Object
Since we’re rendering each activity separatedly we need to trigger BatchLoader in order to accumulate all the ids to be found later.
Methods included from IconHelper
#component_icon, #manifest_icon, #resource_icon
Methods included from LayoutHelper
#_icon_classes, #extended_navigation_bar, #external_icon, #favicon, #icon, #organization_colors, #role
Methods included from CardHelper
Methods inherited from ViewModel
Methods included from FilterParamsHelper
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 ScopesHelper
#has_visible_scopes?, #scope_name_for_picker, #scopes_picker_field, #scopes_picker_filter, #scopes_picker_tag
Methods included from TranslatableAttributes
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, #foundation_datepicker_locale_tag, #name_with_locale, #scopes_picker_field_tag, #tab_element_class_for, #translated_field_tag
Methods included from ResourceHelper
#linked_classes_filter_values_for, #linked_classes_for, #linked_resources_for, #resource_locator, #resource_title
Instance Method Details
#activities ⇒ Object
29 30 31 32 33 |
# File 'app/cells/decidim/activities_cell.rb', line 29 def activities @activities ||= last_activities.select do |activity| activity.visible_for?(current_user) end end |
#activity_cell_for(activity) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'app/cells/decidim/activities_cell.rb', line 19 def activity_cell_for(activity) = { show_author: (context[:user] != activity.user) } cell "#{activity.resource_type.constantize.name.underscore}_activity", activity, context: rescue NameError cell "decidim/activity", activity, context: end |
#last_activities ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'app/cells/decidim/activities_cell.rb', line 35 def last_activities @last_activities ||= model.map do |activity| activity.organization_lazy activity.resource_lazy activity.participatory_space_lazy activity.component_lazy activity end end |
#show ⇒ Object
Since we’re rendering each activity separatedly we need to trigger BatchLoader in order to accumulate all the ids to be found later.
13 14 15 16 17 |
# File 'app/cells/decidim/activities_cell.rb', line 13 def show return if activities.blank? render end |