Class: Decidim::ActivitiesCell
- Inherits:
-
ViewModel
- Object
- ViewModel
- Decidim::ActivitiesCell
- Includes:
- CardHelper, IconHelper
- Defined in:
- decidim-core/app/cells/decidim/activities_cell.rb
Overview
Renders a collection of activities using a different cell for each one.
Constant Summary
Constants included from IconHelper
IconHelper::DEFAULT_RESOURCE_TYPE_ICONS
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, #resource_type_icon, #resource_type_icon_key
Methods included from CardHelper
Instance Method Details
#activities ⇒ Object
29 30 31 32 33 |
# File 'decidim-core/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 'decidim-core/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 'decidim-core/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 'decidim-core/app/cells/decidim/activities_cell.rb', line 13 def show return if activities.blank? render end |