bigbluebutton-Github/labs/meteor-client/client/globals.coffee
2014-07-09 06:31:04 -07:00

81 lines
3.0 KiB
CoffeeScript
Executable File

Handlebars.registerHelper 'equals', (a, b) -> # equals operator was dropped in Meteor's migration from Handlebars to Spacebars
a is b
# Allow access through all templates
Handlebars.registerHelper "setInSession", (k, v) -> Session.set k, v
Handlebars.registerHelper "getInSession", (k) -> Session.get k
# Allow access throughout all coffeescript/js files
@setInSession = (k, v) -> Session.set k, v
@getInSession = (k) -> Session.get k
# retrieve account for selected user
@getCurrentUserFromSession = ->
Meteor.Users.findOne("userId": Session.get("userId"))
# retrieve account for selected user
Handlebars.registerHelper "getCurrentUser", =>
@window.getCurrentUserFromSession()
# toggle state of field in the database
@toggleCam = (context) ->
# Meteor.Users.update {_id: context._id} , {$set:{"user.sharingVideo": !context.sharingVideo}}
# Meteor.call('userToggleCam', context._id, !context.sharingVideo)
@toggleMic = (context) ->
# Meteor.Users.update {_id: context._id} , {$set:{"user.sharingAudio": !context.sharingAudio}}
# Meteor.call('userToggleMic', context._id, !context.sharingAudio)
# toggle state of session variable
@toggleUsersList = ->
setInSession "display_usersList", !getInSession "display_usersList"
@toggleNavbar = ->
setInSession "display_navbar", !getInSession "display_navbar"
@toggleChatbar = ->
setInSession "display_chatbar", !getInSession "display_chatbar"
Meteor.methods
sendMeetingInfoToClient: (meetingId, userId) ->
Session.set("userId", userId)
Session.set("meetingId", meetingId)
Session.set("currentChatId", meetingId)
Session.set("meetingName", null)
Session.set("bbbServerVersion", "0.90")
Session.set("userName", null)
@getUsersName = ->
name = Session.get("userName") # check if we actually have one in the session
if name? then name # great return it, no database query
else # we need it from the database
user = Meteor.Users.findOne({'meetingId': Session.get("meetingId"), 'userId': Session.get("userId")})
if user?.user?.name
Session.set "userName", user.user.name # store in session for fast access next time
user.user.name
else null
# @getMeetingName = ->
# name = Session.get("meetingName") # check if we actually have one in the session
# if name? then name # great return it, no database query
# else # we need it from the database
# meet = Meteor.Meetings.findOne({'meetingId': Session.get("meetingId")})
# if meet?.name
# Session.set "meetingName", meet?.name # store in session for fast access next time
# meet?.name
# else null
Handlebars.registerHelper "isUserSharingAudio", (u) ->
u.voiceUser.talking
Handlebars.registerHelper "isUserSharingVideo", (u) ->
u.webcam_stream.length isnt 0
Handlebars.registerHelper "isCurrentUser", (id) ->
id is Session.get "userId"
# retrieves all users in the meeting
Handlebars.registerHelper "getUsersInMeeting", ->
Meteor.Users.find({})