Module: Spree::Admin::PageBuilderHelper
- Defined in:
- app/helpers/spree/admin/page_builder_helper.rb
Instance Method Summary collapse
- #all_fonts_options ⇒ Object
- #all_linkable_pages ⇒ Object
- #all_linkable_policies ⇒ Object
- #color_palette_active?(color_palette) ⇒ Boolean
- #color_palettes ⇒ Object
- #google_fonts_list ⇒ Object
- #page_preview_url ⇒ Object
- #refresh_theme_preview(section = nil, block = nil) ⇒ Object
- #system_fonts_list ⇒ Object
Instance Method Details
#all_fonts_options ⇒ Object
78 79 80 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 78 def @all_fonts_options ||= system_fonts_list + google_fonts_list end |
#all_linkable_pages ⇒ Object
82 83 84 85 86 87 88 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 82 def all_linkable_pages @all_linkable_pages ||= Spree::Page. without_previews. where(pageable: [@theme, current_store]). select(&:linkable?). map { |page| [page.display_name, page.id] }.sort_by(&:first) end |
#all_linkable_policies ⇒ Object
90 91 92 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 90 def all_linkable_policies @all_linkable_policies ||= current_store.policies.pluck(:name, :id) end |
#color_palette_active?(color_palette) ⇒ Boolean
70 71 72 73 74 75 76 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 70 def color_palette_active?(color_palette) @theme_preview&.primary_color&.downcase == color_palette[:primary_color].downcase && @theme_preview&.text_color&.downcase == color_palette[:text_color].downcase && @theme_preview&.border_color&.downcase == color_palette[:border_color].downcase && @theme_preview&.&.downcase == color_palette[:button_text_color].downcase && @theme_preview&.background_color&.downcase == color_palette[:background_color].downcase end |
#color_palettes ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 23 def color_palettes [ { primary_color: '#1e4bd1', text_color: '#000000', border_color: '#d1d5db', button_text_color: '#ffffff', background_color: '#F9FAFB' }, { primary_color: '#e63946', text_color: '#1d3557', border_color: '#a8dadc', button_text_color: '#ffffff', background_color: '#f1faee' }, { primary_color: '#264653', text_color: '#060C0E', border_color: '#2a9d8f', button_text_color: '#ffffff', background_color: '#e9c46a' }, { primary_color: '#606c38', text_color: '#283618', border_color: '#dda15e', button_text_color: '#ffffff', background_color: '#fefae0' }, { primary_color: '#FF961F', text_color: '#023047', border_color: '#219EBC', button_text_color: '#FFEEDA', background_color: '#DEF0F7' }, { primary_color: '#181CF1', text_color: '#011627', border_color: '#7678ED', button_text_color: '#FFFFFF', background_color: '#FFF5D6' } ] end |
#google_fonts_list ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 8 def google_fonts_list ['Abel', 'Abril Fatface', 'Alegreya', 'Alegreya Sans', 'Alice', 'Amiri', 'Anonymous Pro', 'Arapey', 'Archivo', 'Archivo Narrow', 'Arimo', 'Armata', 'Arvo', 'Asap', 'Assistant', 'Asul', 'Bitter', 'Cabin', 'Cardo', 'Catamaran', 'Chivo', 'Cormorant', 'Crimson Text', 'DM Sans', 'Domine', 'Dosis', 'Eczar', 'Figtree', 'Fira Sans', 'Fjalla One', 'Glegoo', 'IBM Plex Sans', 'Inconsolata', 'Inknut Antiqua', 'Inter', 'Josefin Sans', 'Josefin Slab', 'Kalam', 'Karla', 'Kreon', 'Lato', 'Libre Baskerville', 'Libre Franklin', 'Lobster', 'Lobster Two', 'Lora', 'Maven Pro', 'Megrim', 'Merriweather Sans', 'Montserrat', 'Mouse Memoirs', 'Muli', 'Neuton', 'News Cycle', 'Nobile', 'Noticia Text', 'Noto Serif', 'Nunito', 'Nunito Sans', 'Old Standard TT', 'Open Sans', 'Oswald', 'Ovo', 'Oxygen', 'PT Mono', 'PT Sans', 'PT Sans Narrow', 'PT Serif', 'Pacifico', 'Playball', 'Playfair Display', 'Poppins', 'Prata', 'Prompt', 'Quattrocento', 'Quattrocento Sans', 'Questrial', 'Quicksand', 'Rajdhani', 'Raleway', 'Righteous', 'Roboto', 'Roboto Condensed', 'Roboto Mono', 'Roboto Slab', 'Rubik', 'Shadows Into Light', 'Slabo 13px', 'Slabo 27px', 'Smooch', 'Source Code Pro', 'Source Sans Pro', 'Space Mono', 'Syne', 'Tenor Sans', 'Tinos', 'Titillium Web', 'Ubuntu', 'Unica One', 'Unna', 'Varela', 'Varela Round', 'Vidaloka', 'Volkhov', 'Vollkorn', 'Work Sans'] end |
#page_preview_url ⇒ Object
117 118 119 120 121 122 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 117 def page_preview_url preview_url = @page.preview_url(@theme_preview, @page_preview) return if preview_url.blank? "#{preview_url}&page_builder=true" end |
#refresh_theme_preview(section = nil, block = nil) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 94 def refresh_theme_preview(section = nil, block = nil) reload_params = section.present? ? "{ frame: 'section-#{section.id}' }" : "{ action: 'replace' }" editor_id = if block.present? "block-#{block.id}" elsif section.present? "section-#{section.id}" end turbo_stream.replace :iframe_preview_scripts do turbo_frame_tag :iframe_preview_scripts do javascript_tag do raw <<~JS document.getElementById('page-builder-preview').contentWindow.window.Turbo.visit( document.getElementById('page-builder').dataset.pageBuilderPreviewUrlValue + '&editor_id=#{editor_id}', #{reload_params} ) JS end end end end |
#system_fonts_list ⇒ Object
4 5 6 |
# File 'app/helpers/spree/admin/page_builder_helper.rb', line 4 def system_fonts_list ['Sans-serif', 'Serif', 'Mono'] end |