Skip to content

Commit cd04666

Browse files
committed
Split off commenting CSS
1 parent 35647f7 commit cd04666

File tree

7 files changed

+81
-13
lines changed

7 files changed

+81
-13
lines changed

entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ def scrolled_frontend_javascript_packs_tag(entry, options)
88
)
99
end
1010

11-
def scrolled_frontend_stylesheet_packs_tag(entry, options)
11+
def scrolled_frontend_stylesheet_packs_tag(entry, **options)
1212
stylesheet_pack_tag(
1313
*scrolled_frontend_stylesheet_packs(entry, **options),
1414
media: 'all'
1515
)
1616
end
1717

18-
def scrolled_frontend_stylesheet_packs(entry, entry_mode:)
18+
def scrolled_frontend_stylesheet_packs(entry, entry_mode:, seed_options: {})
1919
packs = scrolled_frontend_packs(entry, entry_mode: entry_mode)
20-
packs += ['pageflow-scrolled-frontend-inlineEditing'] if entry_mode == :editor
20+
packs += ['pageflow-scrolled-frontend-inlineEditing'] if seed_options[:load_inline_editing]
21+
packs += ['pageflow-scrolled-frontend-commenting'] if seed_options[:load_commenting]
2122
packs
2223
end
2324

entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<%= scrolled_favicons_for_entry(entry, entry_mode: entry_mode) %>
1717

1818
<%= javascript_include_tag 'pageflow_scrolled/legacy' %>
19-
<%= scrolled_frontend_stylesheet_packs_tag(entry, entry_mode: entry_mode) %>
19+
<%= scrolled_frontend_stylesheet_packs_tag(entry, entry_mode: entry_mode, seed_options: seed_options) %>
2020

2121
<%= scrolled_theme_properties_style_tag(entry.theme) %>
2222
<%= scrolled_theme_stylesheet_pack_tags(entry.theme) %>
@@ -35,7 +35,7 @@
3535
</script>
3636
<% end %>
3737

38-
<% ssr_html = local_assigns[:skip_ssr] ? '' : render_scrolled_entry(entry, local_assigns[:seed_options] || {}) %>
38+
<% ssr_html = local_assigns[:skip_ssr] ? '' : render_scrolled_entry(entry, seed_options) %>
3939

4040
</head>
4141
<body>
@@ -53,7 +53,7 @@
5353
<%= scrolled_webpack_public_path_script_tag %>
5454
<%= scrolled_frontend_javascript_packs_tag(entry, entry_mode: entry_mode) %>
5555

56-
<%= scrolled_entry_json_seed_script_tag(entry, local_assigns[:seed_options] || {}) %>
56+
<%= scrolled_entry_json_seed_script_tag(entry, seed_options) %>
5757
</body>
5858
<% end %>
5959
<% end %>

entry_types/scrolled/package/config/webpack.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ module.exports = {
8181
},
8282
'pageflow-scrolled-frontend-inlineEditing': {
8383
import: ['pageflow-scrolled/frontend/inlineEditing.css']
84+
},
85+
'pageflow-scrolled-frontend-commenting': {
86+
import: ['pageflow-scrolled/frontend/commenting.css']
8487
}
8588
}
8689
};

entry_types/scrolled/spec/controllers/pageflow_scrolled/entries_controller_spec.rb

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,40 @@ module PageflowScrolled
214214

215215
expect(response.body).not_to include('"loadCommenting"')
216216
end
217+
218+
it 'does not include inline editing stylesheet pack' do
219+
entry = create(:entry, :published, type_name: 'scrolled')
220+
221+
get_with_entry_env(:show, entry:)
222+
223+
expect(response.body).not_to have_selector(
224+
'link[href*="pageflow-scrolled-frontend-inlineEditing"]',
225+
visible: false
226+
)
227+
end
228+
229+
it 'includes commenting stylesheet pack in preview mode when feature is enabled' do
230+
entry = create(:entry, :published, type_name: 'scrolled',
231+
with_feature: 'commenting')
232+
233+
get_with_entry_env(:show, entry:, mode: :preview)
234+
235+
expect(response.body).to have_selector(
236+
'link[href*="pageflow-scrolled-frontend-commenting"]',
237+
visible: false
238+
)
239+
end
240+
241+
it 'does not include commenting stylesheet pack when feature is disabled' do
242+
entry = create(:entry, :published, type_name: 'scrolled')
243+
244+
get_with_entry_env(:show, entry:, mode: :preview)
245+
246+
expect(response.body).not_to have_selector(
247+
'link[href*="pageflow-scrolled-frontend-commenting"]',
248+
visible: false
249+
)
250+
end
217251
end
218252
end
219253
end

entry_types/scrolled/spec/helpers/pageflow_scrolled/editor/seed_html_helper_spec.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,18 @@ module Editor
155155
visible: false)
156156
end
157157

158+
it 'includes inline editing stylesheet pack' do
159+
entry = create(:published_entry, type_name: 'scrolled')
160+
161+
result = helper.scrolled_editor_iframe_seed_html_script_tag(entry)
162+
163+
expect(result).to have_selector(
164+
'script',
165+
text: 'pageflow-scrolled-frontend-inlineEditing',
166+
visible: false
167+
)
168+
end
169+
158170
it 'renders additional seed data of unused content elements' do
159171
pageflow_configure do |config|
160172
config.for_entry_type(PageflowScrolled.entry_type) do |entry_type_conig|

entry_types/scrolled/spec/helpers/pageflow_scrolled/packs_helper_spec.rb

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -248,25 +248,42 @@ module PageflowScrolled
248248
entry = create(:published_entry, type_name: 'scrolled')
249249

250250
result = helper.scrolled_frontend_stylesheet_packs(entry,
251-
entry_mode: :published)
251+
entry_mode: :published,
252+
seed_options: {})
252253

253254
expect(result).to include('pageflow-scrolled-frontend')
254255
end
255256

256-
it 'includes inline editing stylesheet pack only in editor mode' do
257+
it 'includes inline editing stylesheet pack when load_inline_editing seed option is set' do
257258
entry = create(:published_entry, type_name: 'scrolled')
258259

259260
expect(
260-
helper.scrolled_frontend_stylesheet_packs(entry, entry_mode: :editor)
261+
helper.scrolled_frontend_stylesheet_packs(entry,
262+
entry_mode: :editor,
263+
seed_options: {load_inline_editing: true})
261264
).to include('pageflow-scrolled-frontend-inlineEditing')
262265

263266
expect(
264-
helper.scrolled_frontend_stylesheet_packs(entry, entry_mode: :preview)
267+
helper.scrolled_frontend_stylesheet_packs(entry,
268+
entry_mode: :editor,
269+
seed_options: {})
265270
).not_to include('pageflow-scrolled-frontend-inlineEditing')
271+
end
272+
273+
it 'includes commenting stylesheet pack when load_commenting seed option is set' do
274+
entry = create(:published_entry, type_name: 'scrolled')
266275

267276
expect(
268-
helper.scrolled_frontend_stylesheet_packs(entry, entry_mode: :published)
269-
).not_to include('pageflow-scrolled-frontend-inlineEditing')
277+
helper.scrolled_frontend_stylesheet_packs(entry,
278+
entry_mode: :preview,
279+
seed_options: {load_commenting: true})
280+
).to include('pageflow-scrolled-frontend-commenting')
281+
282+
expect(
283+
helper.scrolled_frontend_stylesheet_packs(entry,
284+
entry_mode: :preview,
285+
seed_options: {})
286+
).not_to include('pageflow-scrolled-frontend-commenting')
270287
end
271288
end
272289

rollup.config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,8 @@ const pageflowScrolled = [
276276
plugins: plugins({
277277
extractCss: true,
278278
splitCss: {
279-
'**/inlineEditing/**': pageflowScrolledPackageRoot + '/frontend/inlineEditing.css'
279+
'**/inlineEditing/**': pageflowScrolledPackageRoot + '/frontend/inlineEditing.css',
280+
'**/commenting/**': pageflowScrolledPackageRoot + '/frontend/commenting.css'
280281
}
281282
}),
282283
...ignoreJSXWarning

0 commit comments

Comments
 (0)