module React
Constants
- HTML_TAGS
- VERSION
Public Class Methods
create_element(type, properties = {}) { |].each do |ele| params << ele| ... }
click to toggle source
# File lib/react/opal/top_level.rb, line 14 def self.create_element(type, properties = {}) params = [] # Component Spec or Normal DOM native = `(typeof type === 'function')` || HTML_TAGS.include?(type) params << if native type elsif type.kind_of?(Class) raise "Provided class should define `render` method" if !(type.method_defined? :render) React::ComponentFactory.native_component_class(type) else raise "#{type} not implemented" end # Passed in properties props = camel_case_hash_keys(properties) do |key, value| if key == "class_name" && value.is_a?(Hash) value.inject([]) { |ary, (k, v)| v ? ary.push(k) : ary }.join(" ") elsif key == 'value_link' process_value_link value else value end end params << props.shallow_to_n # Children Nodes if block_given? [yield].flatten.each do |ele| params << ele end end