Sha256: f97fd99d0bc5e360235febdf08d61014247fcaa0d22a145c1267af6b7e0cac7f

Contents?: true

Size: 847 Bytes

Versions: 8

Compression:

Stored size: 847 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

8 entries across 8 versions & 1 rubygems

Version Path
lanes-0.7.0 client/lanes/react/PubSub.coffee
lanes-0.6.1 client/lanes/react/PubSub.coffee
lanes-0.6.0 client/lanes/react/PubSub.coffee
lanes-0.5.6 client/lanes/react/PubSub.coffee
lanes-0.5.5 client/lanes/react/PubSub.coffee
lanes-0.5.0 client/lanes/react/PubSub.coffee
lanes-0.4.0 client/lanes/react/PubSub.coffee
lanes-0.3.0 client/lanes/react/PubSub.coffee