Sha256: ed8cfd50b1f2afb4b1318cf2a837b7392ee8fbafbfc80c9eefbbb8fff894a8a5

Contents?: true

Size: 529 Bytes

Versions: 2

Compression:

Stored size: 529 Bytes

Contents

Support.SwappingRouter = function(options) {
  Backbone.Router.apply(this, [options]);
};

_.extend(Support.SwappingRouter.prototype, Backbone.Router.prototype, {
  swap: function(newView) {
    if (this.currentView && this.currentView.leave) {
      this.currentView.leave();
    }

    this.currentView = newView;
    $(this.el).html(this.currentView.render().el);

    if (this.currentView && this.currentView.swapped) {
      this.currentView.swapped();
    }
  }
});

Support.SwappingRouter.extend = Backbone.Router.extend;

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
backbone-support-0.5.1 lib/assets/javascripts/backbone-support/swapping_router.js
backbone-support-0.5.0 lib/assets/javascripts/backbone-support/swapping_router.js