bigbluebutton-Github/labs/bbb-html5-client/public/js/views/session_navbar.coffee
Leonardo Crauss Daronco 8ca78dd83e Split SessionView in subviews and add treatment to basic events
Events that were in chat/behaviour.coffee are now in Backbone views.
2012-12-10 14:34:06 -02:00

85 lines
2.4 KiB
CoffeeScript

define [
'jquery',
'underscore',
'backbone',
'globals'
], ($, _, Backbone, globals) ->
# The navbar in a session
# The contents are rendered by SessionView, this class is Used to
# manage the events in the navbar.
SessionNavbarView = Backbone.View.extend
events:
"click #chat-btn": "toogleChat"
"click #users-btn": "toogleUsers"
"click #logout-btn": "logout"
"click #prev-slide-btn": "previousSlide"
"click #next-slide-btn": "nextSlide"
"click #tool-pan-btn": "toolPan"
"click #tool-line-btn": "toolLine"
"click #tool-rect-btn": "toolRect"
"click #tool-ellipse-btn": "toolEllipse"
initialize: ->
@$parentEl = null
# Ensure the status of the toogle buttons is ok
setToogleButtonsStatus: ->
$("#chat-btn", @$el).toggleClass "active", @$parentEl.hasClass("chat-enabled")
$("#users-btn", @$el).toggleClass "active", @$parentEl.hasClass("users-enabled")
render: ->
# don't really need to render anything, the rendering is done by
# SessionView, so we just update the status of some buttons
@setToogleButtonsStatus()
# Toogle the visibility of the chat panel
toogleChat: ->
clearTimeout @toogleChatTimeout if @toogleChatTimeout?
@$parentEl.toggleClass "chat-enabled"
@setToogleButtonsStatus()
# TODO
# @toogleChatTimeout = setTimeout(->
# Whiteboard.windowResized()
# , 510)
# Toogle the visibility of the users panel
toogleUsers: ->
clearTimeout @toogleUsersTimeout if @toogleUsersTimeout?
@$parentEl.toggleClass "users-enabled"
@setToogleButtonsStatus()
# TODO
# @toogleUsersTimeout = setTimeout(->
# Whiteboard.windowResized()
# , 510)
# Log out of the session
logout: ->
globals.connection.emitLogout()
# Go to the previous slide
previousSlide: ->
globals.connection.emitPrevSlide()
# Go to the next slide
nextSlide: ->
globals.connection.emitNextSlide()
# "Pan" tool was clicked
toolPan: ->
globals.connection.emitChangeTool("panzoom")
# "Line" tool was clicked
toolLine: ->
globals.connection.emitChangeTool("line")
# "Rect" tool was clicked
toolRect: ->
globals.connection.emitChangeTool("rect")
# "Ellipse" tool was clicked
toolEllipse: ->
globals.connection.emitChangeTool("ellipse")
SessionNavbarView