Class: Decidim::ContentBlocks::HighlightedElementsCell
Instance Method Summary
collapse
#card_for
Methods inherited from ViewModel
#call, #current_user
#filter_link_params
#element_id
#button_to, #submit_tag
#action_authorized_button_to, #action_authorized_link_to, #logged_button_to, #logged_link_to
#has_visible_scopes?, #scope_name_for_picker, #scopes_picker_field, #scopes_picker_filter, #scopes_picker_tag
#default_locale?
#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, #scopes_picker_field_tag, #tab_element_class_for, #translated_field_tag
#linked_classes_filter_values_for, #linked_classes_for, #linked_resources_for, #resource_locator, #resource_title
Instance Method Details
#base_relation ⇒ Object
17
18
19
|
# File 'app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 17
def base_relation
raise "Please, overwrite this method. Inheriting classes should define their own base relation"
end
|
#block_id ⇒ Object
36
37
38
|
# File 'app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 36
def block_id
"#{model.scope_name}-#{model.manifest_name}".parameterize.gsub("_", "-")
end
|
#elements ⇒ Object
8
9
10
11
12
13
14
15
|
# File 'app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 8
def elements
@elements ||= case model.settings.order
when "recent"
base_relation.order_by_most_recent
else
base_relation.order_randomly(random_seed)
end.limit(limit)
end
|
#published_components ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 27
def published_components
@published_components ||= if model.scope_name == "participatory_process_group_homepage"
group = Decidim::ParticipatoryProcessGroup.find(model.scoped_resource_id)
Decidim::Component.where(participatory_space: group.participatory_processes).published
else
Decidim::Component.none
end
end
|
#show ⇒ Object
21
22
23
24
25
|
# File 'app/cells/decidim/content_blocks/highlighted_elements_cell.rb', line 21
def show
return if elements.blank?
render
end
|