         ])
     editorTypes:
         text: (props) ->
-            <input type="text"
-                name={props.field.id}
-                value={props.value}
+            <input type="text" {...props}
                 onChange={_.partial(@onFieldChange, _, props.field)} />
+        bigdec: (props) ->
+            <LC.Input onlyNumeric inputOnly {...props} />
         date: (props) ->
-            <LC.DateTime inputOnly step={15}
-                model={props.model} name={props.field.id}
+            <LC.DateTime {...props} inputOnly step={15}
                 onChange={_.partial(@onDateFieldChange, _, props.field)} />
 
     listenNetworkEvents: true
     getDefaultProps: -> editors: {}
-    #topOffset:       -> @props.topOffset + (@props.rowIndex * @props.rowHeight)
 
     renderControls: ->
         if @props.allowDelete


    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>

Lanes.Components.Grid.EditingMixin = {

    propTypes:
        rowIndex:  React.PropTypes.number.isRequired
        onSave:    React.PropTypes.func.isRequired
        onCancel:  React.PropTypes.func.isRequired
        model:     Lanes.PropTypes.State.isRequired
