Sha256: 4f6a2319a5bb893b7224dea26f613f0a63bdec81cf79992a8c997258311bcfed

Contents?: true

Size: 1.01 KB

Versions: 46

Compression:

Stored size: 1.01 KB

Contents

Rev.pullInto('this') 'ModelForm'

ExampleRow = React.createClass
  render: ->
    <div>
      <Rev.Components.ModelInput model={ @props.model } field="name" />
    </div>

ExampleControls = React.createClass
  render: ->
    <button onClick={ @addOne }>+</button>

  addOne: (e)->
    e.preventDefault()
    @props.items.add({})

class EchoModel extends Backbone.Model
  urlRoot: '/echo'

  sync: ->
    @trigger 'sync'

Rev.registerExample 'ModelHasManyInput',
  mixins: [ Backbone.Events ]

  getInitialState: ->
    model: new EchoModel()

  render: ->
    <ModelForm model={ this.state.model }>
      Model JSON: { JSON.stringify(@state.model.attributes) }
      <Rev.Components.ModelHasManyInput
        model={ @state.model }
        field="rows"
        rowComponentClass={ ExampleRow }
        controlComponentClass={ ExampleControls }
      />
      <button>Submit</button>
    </ModelForm>

  componentDidMount: ->
    @listenTo @state.model, 'all', =>
      @forceUpdate()

  componentWillUnmount: ->
    @stopListening()

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
revelry_core-0.1.12.6 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.12.5 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.12.4 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.12.3 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.12.2 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.12.0 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.11.6 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.11.5 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.11.2 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.11.1 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.11.0 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.7 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.6 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.5 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.4 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.3 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.2 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.1 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.10.0 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx
revelry_core-0.1.9.2 app/assets/javascripts/revelry/examples/ModelHasManyInput.js.cjsx