Module: Spotlight::PagesHelper
- Includes:
- RenderingHelper
- Defined in:
- app/helpers/spotlight/pages_helper.rb
Overview
Sir-trevor helpers methods
Instance Method Summary collapse
- #configurations_for_current_page ⇒ Object
- #content_editor_class(page) ⇒ Object
- #disable_save_pages_button? ⇒ Boolean
- #get_search_widget_search_results(block) ⇒ Object
- #nestable_data_attributes(type) ⇒ Object
- #nestable_data_attributes_hash(type) ⇒ Object
-
#render_contact_email_address(address) ⇒ Object
Insert soft breaks into email addresses so they wrap nicely.
- #resource_alt_text(options, default) ⇒ Object
- #sir_trevor_format(text, format: :markdown) ⇒ Object
- #sir_trevor_html(text) ⇒ Object
-
#sir_trevor_markdown(text) ⇒ Object
Override the default #sir_trevor_markdown so we can use a more complete markdown rendered.
Methods included from RenderingHelper
Instance Method Details
#configurations_for_current_page ⇒ Object
80 81 82 |
# File 'app/helpers/spotlight/pages_helper.rb', line 80 def configurations_for_current_page Spotlight::PageConfigurations.new(context: self, page: @page).as_json end |
#content_editor_class(page) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'app/helpers/spotlight/pages_helper.rb', line 9 def content_editor_class(page) page_content = page.content_type if page_content == 'SirTrevor' 'js-st-instance' else "js-#{page_content.parameterize}-instance" end end |
#disable_save_pages_button? ⇒ Boolean
44 45 46 |
# File 'app/helpers/spotlight/pages_helper.rb', line 44 def page_collection_name == 'about_pages' && @pages.empty? end |
#get_search_widget_search_results(block) ⇒ Object
48 49 50 51 52 53 54 |
# File 'app/helpers/spotlight/pages_helper.rb', line 48 def (block) if block.search.present? search_results(block.search.merge_params_for_search(params, blacklight_config)) else [] end end |
#nestable_data_attributes(type) ⇒ Object
56 57 58 59 60 |
# File 'app/helpers/spotlight/pages_helper.rb', line 56 def nestable_data_attributes(type) nestable_data_attributes_hash(type).map do |attr, val| "#{attr}='#{val}'" end.join(' ') end |
#nestable_data_attributes_hash(type) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'app/helpers/spotlight/pages_helper.rb', line 62 def nestable_data_attributes_hash(type) case type when 'feature_pages' { 'data-max-depth' => '2', 'data-expand-btn-HTML' => '', 'data-collapse-btn-HTML' => '' } when 'about_pages' { 'data-max-depth' => '1' } else {} end end |
#render_contact_email_address(address) ⇒ Object
Insert soft breaks into email addresses so they wrap nicely
76 77 78 |
# File 'app/helpers/spotlight/pages_helper.rb', line 76 def render_contact_email_address(address) mail_to address, sanitize(address).gsub(/([@.])/, '\1<wbr />').html_safe end |
#resource_alt_text(options, default) ⇒ Object
84 85 86 87 88 89 |
# File 'app/helpers/spotlight/pages_helper.rb', line 84 def resource_alt_text(, default) return '' if [:decorative].present? return [:alt_text] if [:alt_text].present? default end |
#sir_trevor_format(text, format: :markdown) ⇒ Object
19 20 21 22 23 24 25 |
# File 'app/helpers/spotlight/pages_helper.rb', line 19 def sir_trevor_format(text, format: :markdown) if format.to_s.to_sym == :html sir_trevor_html(text) else sir_trevor_markdown(text) end end |
#sir_trevor_html(text) ⇒ Object
27 28 29 |
# File 'app/helpers/spotlight/pages_helper.rb', line 27 def sir_trevor_html(text) sanitize(text, tags: %w[b i a br p sup]) end |
#sir_trevor_markdown(text) ⇒ Object
Override the default #sir_trevor_markdown so we can use a more complete markdown rendered
34 35 36 37 38 39 40 41 42 |
# File 'app/helpers/spotlight/pages_helper.rb', line 34 def sir_trevor_markdown(text) clean_text = if text text.gsub('<br>', "\n\n").gsub('<p>', '').gsub('</p>', "\n\n") else '' end render_markdown(clean_text) end |