2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/generators/frozen/templates/ui/lookbook/lookbook_helper.rb', line 2
def render_preview_scenario(preview_entity_or_name, scenario_entity_or_name, params: {})
preview = case preview_entity_or_name
when Lookbook::PreviewEntity
preview_entity_or_name
when String, Symbol
Lookbook.previews.find { |p| p.lookup_path == preview_entity_or_name.to_s }
else
raise ArgumentError, "Expected a Lookbook::PreviewEntity or a String/Symbol lookup path"
end
scenario_name = case scenario_entity_or_name
when Lookbook::ScenarioEntity
scenario_entity_or_name.name
when String, Symbol
scenario_entity_or_name.to_s
else
raise ArgumentError, "Expected a Lookbook::ScenarioEntity or a String/Symbol scenario name"
end
render_args = preview.render_args(scenario_name, params: params)
if render_args[:component]
if defined?(Phlex::SGML) && render_args[:component].is_a?(Phlex::SGML)
if defined?(Phlex::VERSION) && Gem::Version.new(Phlex::VERSION) < Gem::Version.new("2.0.0")
raw(render_args[:component].call(view_context: self, &render_args[:block]))
else
render(render_args[:component], render_args[:args], &render_args[:block])
end
else
render(render_args[:component], render_args[:args], &render_args[:block])
end
else
render(render_args[:template], **render_args[:locals], &render_args[:block])
end
end
|