81 lines
3.0 KiB
CoffeeScript
Executable File
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({})
|
|
|