Sha256: 15ce3d7856fa5d4071ecd9beec40b203e82337c2a2747debd078eb77314eef14

Contents?: true

Size: 564 Bytes

Versions: 2

Compression:

Stored size: 564 Bytes

Contents

Luca.modules.StateModel =
  __initializer: ()->
    return unless @stateful is true
    return if @state? and not Luca.isBackboneModel(@state)
    
    @state = new Backbone.Model(@defaultState || {})

    @set ||= ()=> @state.set.apply(@state, arguments)
    @get ||= ()=> @state.get.apply(@state, arguments)  

    @state.on "change", (state)=>
      @trigger "state:change", state
      previousValues = state.previousAttributes()
      for changed, value in state.changedAttributes
        @trigger "state:change:#{ changed }", value, state.previous(changed)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
luca-0.9.65 src/modules/state_model.coffee
luca-0.9.6 src/modules/state_model.coffee