Class: Decidim::ContentBlocks::ParticipatorySpaceHeroCell

Inherits:
BaseCell
  • Object
show all
Includes:
TwitterSearchHelper
Defined in:
app/cells/decidim/content_blocks/participatory_space_hero_cell.rb

Constant Summary

Constants inherited from BaseCell

BaseCell::SCOPE_ASSOCIATIONS

Constants included from AmendmentsHelper

AmendmentsHelper::TOTAL_STEPS

Instance Method Summary collapse

Methods included from TwitterSearchHelper

#twitter_hashtag_url

Methods inherited from BaseCell

#resource

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

#with_tooltip

Methods included from ModalHelper

#decidim_modal

Methods included from OrganizationHelper

#current_organization_name, #organization_colors, #organization_description_label, #organization_name

Methods included from TranslatableAttributes

#default_locale?

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 Decidim::CacheHelper

#cache

Methods included from AmendmentsHelper

#accept_and_reject_buttons_for, #action_button_card_for, #allowed_to_accept_and_reject?, #allowed_to_promote?, #amend_button_for, #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

included, #text_editor_for

Methods included from Decidim::ContextualHelpHelper

#floating_help

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_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

#element_id

Methods included from ReplaceButtonsHelper

#button_to, #submit_tag

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

#cta_pathObject



16
17
18
19
20
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 16

def cta_path
  return unless model

  @cta_path ||= translated_attribute(model.settings.button_url).presence
end

#cta_textObject



10
11
12
13
14
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 10

def cta_text
  return unless model

  @cta_text ||= translated_attribute(model.settings.button_text).presence
end

#escaped_hashtagObject



48
49
50
51
52
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 48

def escaped_hashtag
  return unless has_hashtag?

  @escaped_hashtag ||= decidim_html_escape(hashtag)
end

#has_cta?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 44

def has_cta?
  [cta_text, cta_path].all?
end

#has_hashtag?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 40

def has_hashtag?
  @has_hashtag ||= hashtag.present?
end

#image_pathObject

If it is called from the landing page content block, use the background image defined there Else, use the banner image defined in the space (for assemblies)



34
35
36
37
38
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 34

def image_path
  return model.images_container.attached_uploader(:background_image).url if model.respond_to?(:images_container)

  attached_uploader(:banner_image).url
end

#subtitle_textObject



26
27
28
29
30
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 26

def subtitle_text
  return unless resource.respond_to?(:subtitle)

  decidim_escape_translated(resource.subtitle)
end

#title_textObject



22
23
24
# File 'app/cells/decidim/content_blocks/participatory_space_hero_cell.rb', line 22

def title_text
  decidim_escape_translated(title)
end