Sha256: 39c6b698795436ff32c1a71add4f9d5793888b63d7161ad3ca0abb04508e860b

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

textField = Luca.register     'Luca.fields.TextField'
textField.extends             'Luca.core.Field'

textField.defines
  _events:
    "blur input" : "blur_handler"
    "focus input" : "focus_handler"
    "change input" : "change_handler"

  template: 'fields/text_field'

  autoBindEventHandlers: true

  send_blanks: true

  keyEventThrottle: 300

  initialize: (@options={})->
    if @enableKeyEvents
      if @keyEventThrottle
        @keyup_handler = _.debounce(@keyup_handler, @keyEventThrottle)
        
      @registerEvent("keyup input","keyup_handler")     

    @input_id ||= _.uniqueId('field')
    @input_name ||= @name
    @label ||= @name
    @input_class ||= @class
    @input_value ||= @value || "" 
    
    if @prepend
      @$el.addClass 'input-prepend'
      @addOn = @prepend

    if @append
      @$el.addClass 'input-append'
      @addOn = @append

    @placeHolder ||= ""

    Luca.core.Field::initialize.apply @, arguments

  keyup_handler: (e)->
    # TODO: Should ignore certain keyup events
    # which would not indicate a change
    @trigger "on:change", @, e
    @trigger "on:keyup", @, e

  blur_handler: (e)->
    @trigger "on:blur", @, e

  focus_handler: (e)->
    @trigger "on:focus", @, e

  change_handler: (e)-> 
    @trigger "on:change", @, e

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
luca-0.9.89 app/assets/javascripts/luca/components/fields/text_field.coffee