Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def show
render(
locals: {
entry:,
widget_scope: get_entry_mode_from_env,
entry_mode: get_entry_mode_from_env,
seed_options: {
embed: get_embed_from_env,
origin_url: request.original_url
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
module PageflowScrolled
# @api private
module CacheHelper
def cache_scrolled_entry(entry:, widget_scope:, &)
def cache_scrolled_entry(entry:, entry_mode:, &)
condition =
widget_scope == :published &&
entry_mode == :published &&
entry.feature_state('scrolled_entry_fragment_caching')
cache_if(condition, [entry, :head_and_body, widget_scope], &)
cache_if(condition, [entry, :head_and_body, entry_mode], &)
end
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def scrolled_editor_iframe_seed_html_script_tag(entry)
html = render(template: 'pageflow_scrolled/entries/show',
locals: {
entry:,
widget_scope: :editor,
entry_mode: :editor,
skip_ssr: true,
skip_structured_data: true,
skip_feed_link_tags: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ def scrolled_editor_stylesheet_packs_tag(entry)
)
end

def scrolled_frontend_packs(entry, widget_scope:)
def scrolled_frontend_packs(entry, entry_mode:)
['pageflow-scrolled-frontend'] +
scrolled_additional_frontend_packs(entry, widget_scope) +
scrolled_frontend_widget_type_packs(entry, widget_scope)
scrolled_additional_frontend_packs(entry, entry_mode) +
scrolled_frontend_widget_type_packs(entry, entry_mode)
end

def scrolled_editor_packs(entry)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<%= cache_scrolled_entry(entry: entry, widget_scope: widget_scope) do %>
<%= cache_scrolled_entry(entry: entry, entry_mode: entry_mode) do %>
<!DOCTYPE html>
<%= content_tag(:html, lang: entry.locale, dir: text_direction(entry.locale)) do %>
<head>
Expand All @@ -13,15 +13,15 @@
<%= hreflang_link_tags_for_entry(entry) unless local_assigns[:skip_hreflang_link_tags] %>
<%= feed_link_tags_for_entry(entry) unless local_assigns[:skip_feed_link_tags] %>

<%= scrolled_favicons_for_entry(entry, entry_mode: widget_scope) %>
<%= scrolled_favicons_for_entry(entry, entry_mode: entry_mode) %>

<%= javascript_include_tag 'pageflow_scrolled/legacy' %>
<%= scrolled_frontend_stylesheet_packs_tag(entry, widget_scope: widget_scope) %>
<%= scrolled_frontend_stylesheet_packs_tag(entry, entry_mode: entry_mode) %>

<%= scrolled_theme_properties_style_tag(entry.theme) %>
<%= scrolled_theme_stylesheet_pack_tags(entry.theme) %>

<%= render_widget_head_fragments(entry, scope: widget_scope) %>
<%= render_widget_head_fragments(entry, scope: entry_mode) %>

<% if Rails.env.development? %>
<script>
Expand Down Expand Up @@ -50,11 +50,11 @@
<div id="root"><%= ssr_html %></div>

<div id='template-widget-container'>
<%= render_widgets(entry, scope: widget_scope, insert_point: :bottom_of_entry) %>
<%= render_widgets(entry, scope: entry_mode, insert_point: :bottom_of_entry) %>
</div>

<%= scrolled_webpack_public_path_script_tag %>
<%= scrolled_frontend_javascript_packs_tag(entry, widget_scope: widget_scope) %>
<%= scrolled_frontend_javascript_packs_tag(entry, entry_mode: entry_mode) %>

<%= scrolled_entry_json_seed_script_tag(entry, local_assigns[:seed_options] || {}) %>
</body>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ module PageflowScrolled

result = 'initial value'

helper.cache_scrolled_entry(entry:, widget_scope: :published) { result = 'old value' }
helper.cache_scrolled_entry(entry:, widget_scope: :published) { result = 'new value' }
helper.cache_scrolled_entry(entry:, entry_mode: :published) { result = 'old value' }
helper.cache_scrolled_entry(entry:, entry_mode: :published) { result = 'new value' }

expect(result).to eq('old value')
end
Expand All @@ -21,40 +21,40 @@ module PageflowScrolled

result = 'initial value'

helper.cache_scrolled_entry(entry:, widget_scope: :published) { result = 'old value' }
helper.cache_scrolled_entry(entry:, widget_scope: :published) { result = 'new value' }
helper.cache_scrolled_entry(entry:, entry_mode: :published) { result = 'old value' }
helper.cache_scrolled_entry(entry:, entry_mode: :published) { result = 'new value' }

expect(result).to eq('new value')
end

it "doesn't cache if widget_scope isn't :published" do
it "doesn't cache if entry_mode isn't :published" do
# would typically imply widget scope :published
entry = create(:published_entry,
with_feature: 'scrolled_entry_fragment_caching')

result = 'initial value'

helper.cache_scrolled_entry(entry:, widget_scope: :editor) { result = 'old value' }
helper.cache_scrolled_entry(entry:, widget_scope: :editor) { result = 'new value' }
helper.cache_scrolled_entry(entry:, entry_mode: :editor) { result = 'old value' }
helper.cache_scrolled_entry(entry:, entry_mode: :editor) { result = 'new value' }

expect(result).to eq('new value')
end

it 'caches for different values of widget scope' do
it 'caches for different values of entry mode' do
entry = create(:published_entry,
with_feature: 'scrolled_entry_fragment_caching')

result = 'initial value'
published_result = 'initial value'

helper.cache_scrolled_entry(entry:, widget_scope: :published) do
helper.cache_scrolled_entry(entry:, entry_mode: :published) do
result = 'oldest value', published_result = 'oldest value'
end
helper.cache_scrolled_entry(entry:, widget_scope: :editor) { result = 'old value' }
helper.cache_scrolled_entry(entry:, widget_scope: :published) do
helper.cache_scrolled_entry(entry:, entry_mode: :editor) { result = 'old value' }
helper.cache_scrolled_entry(entry:, entry_mode: :published) do
result = 'new value', published_result = 'new value'
end
helper.cache_scrolled_entry(entry:, widget_scope: :editor) { result = 'newest value' }
helper.cache_scrolled_entry(entry:, entry_mode: :editor) { result = 'newest value' }

expect(result).to eq('newest value')
expect(published_result).to eq('oldest value')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :published)
entry_mode: :published)

expect(result).to include('pageflow-scrolled-frontend')
end
Expand All @@ -26,7 +26,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :editor)
entry_mode: :editor)

expect(result).to include('pageflow-scrolled/contentElements/extra')
end
Expand All @@ -43,7 +43,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :published)
entry_mode: :published)

expect(result).to include('pageflow-scrolled/contentElements/extra')
end
Expand All @@ -61,7 +61,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :editor)
entry_mode: :editor)

expect(result).to include('pageflow-scrolled/contentElements/extra')
end
Expand All @@ -80,7 +80,7 @@ module PageflowScrolled
create(:content_element, revision: entry.revision, type_name: 'extra')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :published)
entry_mode: :published)

expect(result).to include('pageflow-scrolled/contentElements/extra')
end
Expand All @@ -98,7 +98,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :published)
entry_mode: :published)

expect(result).not_to include('pageflow-scrolled/contentElements/extra')
end
Expand Down Expand Up @@ -130,7 +130,7 @@ module PageflowScrolled

entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry, widget_scope: :editor)
result = helper.scrolled_frontend_packs(entry, entry_mode: :editor)

expect(result).to include('some/script/if-true')
expect(result).to include('some/script/unless-false')
Expand Down Expand Up @@ -165,7 +165,7 @@ module PageflowScrolled

entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry, widget_scope: :published)
result = helper.scrolled_frontend_packs(entry, entry_mode: :published)

expect(result).to include('some/script/if-true')
expect(result).to include('some/script/unless-false')
Expand All @@ -184,7 +184,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :editor)
entry_mode: :editor)

expect(result).to include('pageflow-scrolled/widgets/customNavigation')
expect(result).to include('pageflow-scrolled/widgets/otherNavigation')
Expand All @@ -205,7 +205,7 @@ module PageflowScrolled
type_name: 'customNavigation')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :published)
entry_mode: :published)

expect(result).to include('pageflow-scrolled/widgets/customNavigation')
expect(result).not_to include('pageflow-scrolled/widgets/otherNavigation')
Expand All @@ -224,7 +224,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :editor)
entry_mode: :editor)

expect(result).not_to include('pageflow-scrolled/widgets/customNavigation')
end
Expand All @@ -237,7 +237,7 @@ module PageflowScrolled
entry = create(:published_entry, type_name: 'scrolled')

result = helper.scrolled_frontend_packs(entry,
widget_scope: :editor)
entry_mode: :editor)

expect(result).not_to include('pageflow-scrolled/widgets/test')
end
Expand Down
Loading