Class: Decidim::ActivitiesCell
- Inherits:
-
ViewModel
- Object
- ViewModel
- Decidim::ActivitiesCell
- Includes:
- CardHelper
- 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
-
#show ⇒ Object
Since we are rendering each activity separatedly we need to trigger BatchLoader in order to accumulate all the ids to be found later.
Methods included from CardHelper
Instance Method Details
#activities ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'app/cells/decidim/activities_cell.rb', line 28 def activities @activities ||= model.map do |activity| activity.organization_lazy activity.resource_lazy activity.participatory_space_lazy activity.component_lazy activity end end |
#activity_cell_for(activity) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'app/cells/decidim/activities_cell.rb', line 18 def activity_cell_for(activity) opts = .slice(:id_prefix, :hide_participatory_space).merge( show_author: (context[:user] != activity.user) ) cell "#{activity.resource_type.constantize.name.underscore}_activity", activity, context: opts rescue NameError cell "decidim/activity", activity, context: opts end |
#show ⇒ Object
Since we are rendering each activity separatedly we need to trigger BatchLoader in order to accumulate all the ids to be found later.
12 13 14 15 16 |
# File 'app/cells/decidim/activities_cell.rb', line 12 def show return if activities.blank? render end |