Sha256: 3d6c79f20233dac7d41f16ca63b9f11e1e90ee6a36360a0c99dd3192af6c1304

Contents?: true

Size: 832 Bytes

Versions: 2

Compression:

Stored size: 832 Bytes

Contents

# Responsible for adding and removing a view's model(s) from Data.PubSub
class Lanes.Views.PubSub extends Lanes.Views.ModelObserver

    model_events:
        'remote-update': 'onChange'

    hideUpdate: (field)->
        Lanes.dom.removeClass(field,"updated")

    showUpdate: (field)->
        Lanes.dom.addClass(field,"updated")
        _.delay(@hideUpdate, 3000, field )

    onChange: (model,change)->
        return unless change.record == this.getModel()
        for field in change.fields
            this.showUpdate(field) if field = @view.query("[name=#{field}]")

    bindModel: (model)->
        Lanes.Data.PubSub.add(model)
        super

    unBindModel: (model)->
        Lanes.Data.PubSub.remove(model)
        super

    teardown: ->
        super
        Lanes.Data.PubSub.remove(model) if model = this.getModel()

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lanes-0.0.8 client/lanes/views/PubSub.coffee
lanes-0.0.5 client/lanes/views/PubSub.coffee