Sha256: 34a24c2638a01c4643e2f88ac5ed7236849571d47c7f025ac91c72c6802d39f6

Contents?: true

Size: 711 Bytes

Versions: 4

Compression:

Stored size: 711 Bytes

Contents

Luca.concerns.FormModelBindings = 
  __initializer: ()->
    return unless @trackModelChanges is true

    @on "state:change:currentModel", @onStateChangeCurrentModel, @

    _.bindAll(@, "onStateChangeCurrentModel", "unbindFromModel", "onModelChange", "bindToModel")

  onStateChangeCurrentModel: (state, current, previous)->
    @unbindFromModel(previous) if Luca.isBackboneModel(previous)
    @bindToModel(current) if Luca.isBackboneModel(current)

  unbindFromModel: (model)->
    (model || @currentModel())?.unbind("change", @onModelChange)  

  onModelChange: (model)->
    @setValues(model, modelChange: true)

  bindToModel: (model)->
    (model || @currentModel())?.bind("change", @onModelChange, @)  

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
luca-0.9.91 app/assets/javascripts/luca/concerns/form_model_bindings.coffee
luca-0.9.9 app/assets/javascripts/luca/concerns/form_model_bindings.coffee
luca-0.9.899 app/assets/javascripts/luca/concerns/form_model_bindings.coffee
luca-0.9.89 app/assets/javascripts/luca/concerns/form_model_bindings.coffee