Skip to content

Instantly share code, notes, and snippets.

@unamashana
Last active January 1, 2016 10:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save unamashana/8133284 to your computer and use it in GitHub Desktop.
Save unamashana/8133284 to your computer and use it in GitHub Desktop.
SB.Views.CurrentView = Backbone.View.extend(
...
initialize: ->
...
@screens = []
...
set: (view, options) ->
@saveScreenPosition()
@currentView = view
@current_view.render() unless @isPresent(view)
@makeCurrent()
# Hide the other screens
screensToHide = _.select @screens, (screen) => screen.cid != @currentView.cid
_.each screensToHide, (screen) =>
@makeOld(screen)
isPresent: (view) ->
_.contains @screens, view
makeCurrent: ->
@screens.push @currentView
view = $(@currentView.el)
view.prependTo $(@el)
view.removeClass 'hidden'
makeOld: (screen) ->
$(screen.render().el).addClass "hidden"
...
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment