 Lanes.Components.Grid.EditingMixin = {
 
     propTypes:
-        #topOffset: React.PropTypes.number.isRequired
         rowIndex:  React.PropTypes.number.isRequired
-#        rowHeight: React.PropTypes.number.isRequired
         onSave:    React.PropTypes.func.isRequired
         onCancel:  React.PropTypes.func.isRequired
         model:     Lanes.PropTypes.State.isRequired


    renderField: (field, index) ->
        control = if field.editable
            props = _.extend( {index, field, value: @getFieldValue(field)},
                _.pick(@props, 'model', 'query', 'rowIndex')
            )
            (@props.editors[field.id] || @editorTypes[field.type] || @editorTypes['text']).call(this, props)
        else
            <span>{@getFieldValue(field)}</span>

        ])
    editorTypes:
        text: (props) ->
            <input type="text" {...props}
                onChange={_.partial(@onFieldChange, _, props.field)} />
        bigdec: (props) ->
            <LC.Input onlyNumeric inputOnly {...props} />
        date: (props) ->
            <LC.DateTime {...props} inputOnly step={15}
                onChange={_.partial(@onDateFieldChange, _, props.field)} />

    listenNetworkEvents: true
    getDefaultProps: -> editors: {}

    renderControls: ->
        if @props.allowDelete
