React component helper specs (#24072)
This commit is contained in:
parent
3029aeb838
commit
91a8cd21d8
6 changed files with 266 additions and 83 deletions
23
app/helpers/react_component_helper.rb
Normal file
23
app/helpers/react_component_helper.rb
Normal file
|
@ -0,0 +1,23 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module ReactComponentHelper
|
||||
def react_component(name, props = {}, &block)
|
||||
data = { component: name.to_s.camelcase, props: Oj.dump(props) }
|
||||
if block.nil?
|
||||
div_tag_with_data(data)
|
||||
else
|
||||
content_tag(:div, data: data, &block)
|
||||
end
|
||||
end
|
||||
|
||||
def react_admin_component(name, props = {})
|
||||
data = { 'admin-component': name.to_s.camelcase, props: Oj.dump({ locale: I18n.locale }.merge(props)) }
|
||||
div_tag_with_data(data)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def div_tag_with_data(data)
|
||||
content_tag(:div, nil, data: data)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue