Module: React
- Defined in:
- lib/react/api.rb,
lib/react/event.rb,
lib/react/state.rb,
lib/react/element.rb,
lib/react/callbacks.rb,
lib/react/component.rb,
lib/react/top_level.rb,
lib/react/validator.rb,
lib/react/observable.rb,
lib/react/component/api.rb,
lib/react/component/base.rb,
lib/react/component/tags.rb,
lib/react/native_library.rb,
lib/reactive-ruby/version.rb,
lib/react/rendering_context.rb,
lib/react/component/class_methods.rb,
lib/react/component/props_wrapper.rb,
lib/reactive-ruby/isomorphic_helpers.rb,
lib/react/component/dsl_instance_methods.rb,
lib/rails-helpers/top_level_rails_component.rb
Defined Under Namespace
Modules: Callbacks, Component, IsomorphicHelpers
Classes: API, Element, Event, NativeLibrary, Observable, RenderingContext, State, StateWrapper, TopLevelRailsComponent, Validator
Constant Summary
collapse
- ATTRIBUTES =
%w(accept acceptCharset accessKey action allowFullScreen allowTransparency alt
async autoComplete autoPlay cellPadding cellSpacing charSet checked classID
className cols colSpan content contentEditable contextMenu controls coords
crossOrigin data dateTime defer dir disabled download draggable encType form
formAction formEncType formMethod formNoValidate formTarget frameBorder height
hidden href hrefLang htmlFor httpEquiv icon id label lang list loop manifest
marginHeight marginWidth max maxLength media mediaGroup method min multiple
muted name noValidate open pattern placeholder poster preload radioGroup
readOnly rel required role rows rowSpan sandbox scope scrolling seamless
selected shape size sizes span spellCheck src srcDoc srcSet start step style
tabIndex target title type useMap value width wmode dangerouslySetInnerHTML)
- HASH_ATTRIBUTES =
%w(data aria)
- VERSION =
'0.8.5'
Class Method Summary
collapse
Class Method Details
.create_element(type, properties = {}, &block) ⇒ Object
21
22
23
|
# File 'lib/react/top_level.rb', line 21
def self.create_element(type, properties = {}, &block)
React::API.create_element(type, properties, &block)
end
|
.is_valid_element(element) ⇒ Object
39
40
41
|
# File 'lib/react/top_level.rb', line 39
def self.is_valid_element(element)
element.kind_of?(React::Element) && `React.isValidElement(#{element.to_n})`
end
|
.render(element, container) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/react/top_level.rb', line 25
def self.render(element, container)
container = `container.$$class ? container[0] : container`
if !(`typeof ReactDOM === 'undefined'`)
component = Native(`ReactDOM.render(#{element.to_n}, container, function(){#{yield if block_given?}})`) elsif !(`typeof React.renderToString === 'undefined'`)
component = Native(`React.render(#{element.to_n}, container, function(){#{yield if block_given?}})`)
else
raise "render is not defined. In React >= v15 you must import it with ReactDOM"
end
component.class.include(React::Component::API)
component
end
|
.render_to_static_markup(element) ⇒ Object
53
54
55
56
57
58
59
60
61
|
# File 'lib/react/top_level.rb', line 53
def self.render_to_static_markup(element)
if !(`typeof ReactDOMServer === 'undefined'`)
React::RenderingContext.build { `ReactDOMServer.renderToStaticMarkup(#{element.to_n})` } elsif !(`typeof React.renderToString === 'undefined'`)
React::RenderingContext.build { `React.renderToStaticMarkup(#{element.to_n})` }
else
raise "renderToStaticMarkup is not defined. In React >= v15 you must import it with ReactDOMServer"
end
end
|
.render_to_string(element) ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/react/top_level.rb', line 43
def self.render_to_string(element)
if !(`typeof ReactDOMServer === 'undefined'`)
React::RenderingContext.build { `ReactDOMServer.renderToString(#{element.to_n})` } elsif !(`typeof React.renderToString === 'undefined'`)
React::RenderingContext.build { `React.renderToString(#{element.to_n})` }
else
raise "renderToString is not defined. In React >= v15 you must import it with ReactDOMServer"
end
end
|
.unmount_component_at_node(node) ⇒ Object
63
64
65
66
67
68
69
70
71
|
# File 'lib/react/top_level.rb', line 63
def self.unmount_component_at_node(node)
if !(`typeof ReactDOM === 'undefined'`)
`ReactDOM.unmountComponentAtNode(node.$$class ? node[0] : node)` elsif !(`typeof React.renderToString === 'undefined'`)
`React.unmountComponentAtNode(node.$$class ? node[0] : node)`
else
raise "unmountComponentAtNode is not defined. In React >= v15 you must import it with ReactDOM"
end
end
|