Sha256: d20e75d35bb6295845b3a532a7446e350d5e5e5de775b7918a706f7500248b0e

Contents?: true

Size: 864 Bytes

Versions: 3

Compression:

Stored size: 864 Bytes

Contents

Lanes.Components.Form.InputFieldMixin =

    mixins: [
        Lanes.Components.Form.FieldMixin
    ]

    propTypes:
        onlyNumeric:  React.PropTypes.bool
        selctOnFocus: React.PropTypes.bool

    getDefaultProps: ->
        type: 'text'

    handleKeyDown: (ev) ->
        @props.onEnter() if ev.key is 'Enter'

    selectOnFocus: (ev) ->
        ev.target.select()

    onFieldBlur: ->
        @onFieldInteraction()
        @props.onBlur?()

    renderEdit: (props) ->
        props = _.extend(props, {
            ref: 'input'
            name: @props.name
            value: @fieldMixinGetValue()
        })

        handlers = { onBlur: @onFieldBlur }

        if @props.onEnter         then handlers.onKeyDown = @handleKeyDown
        if @props.selectOnFocus   then handlers.onFocus   = @selectOnFocus

        @renderInputField(props, handlers)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lanes-0.5.6 client/lanes/components/shared/InputFieldMixin.cjsx
lanes-0.5.5 client/lanes/components/shared/InputFieldMixin.cjsx
lanes-0.5.0 client/lanes/components/shared/InputFieldMixin.cjsx