Sha256: 878d912ea4b3a5aa9b2b22b50128c727461756d8e597bd093f90e984c5597489

Contents?: true

Size: 839 Bytes

Versions: 6

Compression:

Stored size: 839 Bytes

Contents

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

    modelEvents:
        '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.Models.PubSub.add(model)
        super

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

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
lanes-0.1.9.5 client/lanes/react/PubSub.coffee
lanes-0.1.9 client/lanes/views/PubSub.coffee
lanes-0.1.8 client/lanes/views/PubSub.coffee
lanes-0.1.7 client/lanes/views/PubSub.coffee
lanes-0.1.6 client/lanes/views/PubSub.coffee
lanes-0.1.5 client/lanes/views/PubSub.coffee