Sha256: 7ed123545a705e2fc2b4dba7c852482493a582e64b808adfc3626d5e684bf88f

Contents?: true

Size: 822 Bytes

Versions: 3

Compression:

Stored size: 822 Bytes

Contents

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

    model_events:
        'remote-update': 'onChange'

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

    showUpdate: (field)->
        _.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

3 entries across 3 versions & 1 rubygems

Version Path
lanes-0.0.3 client/javascripts/view/PubSub.coffee
lanes-0.0.2 client/javascripts/view/PubSub.coffee
lanes-0.0.1 client/javascripts/view/PubSub.coffee