Skip to content

Instantly share code, notes, and snippets.

@silppuri
Last active September 29, 2015 07:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save silppuri/6dd4ed2d3fcae23813b4 to your computer and use it in GitHub Desktop.
Save silppuri/6dd4ed2d3fcae23813b4 to your computer and use it in GitHub Desktop.
React = require("react")
classnames = require("classnames")
ReadOnly = (CompositeComponent) -> class extends React.Component
render: ->
<CompositeComponent
{...@props}
className={classnames("read-only": @props.read)}
readOnly={@props.read}
/>
FormItem = ReadOnly(require("form-item"))
let ReadOnly = CompositeComponent => class extends React.Component {
render() {
return <CompositeComponent {...this.props} readOnly={this.state.read}/>
}
}
class FormItem extends React.Component {
render() {
return <input readOnly={this.props.readOnly}/>
}
}
let Enhanced = ReadOnly(FormItem);
React.render(<Enhanced readOnly={false}/>, document.getElementById("app"));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment