2014-07-08 23:14:55 +08:00
|
|
|
Meteor.methods
|
|
|
|
addSlideToCollection: (meetingId, presentationId, slideObject) ->
|
2014-07-30 23:20:29 +08:00
|
|
|
unless Meteor.Slides.findOne({meetingId: meetingId, "slide.id": slideObject.id})?
|
2014-07-10 03:09:10 +08:00
|
|
|
entry =
|
2014-07-08 23:14:55 +08:00
|
|
|
meetingId: meetingId
|
|
|
|
presentationId: presentationId
|
2014-07-10 03:09:10 +08:00
|
|
|
slide:
|
2014-07-08 23:14:55 +08:00
|
|
|
height_ratio: slideObject.height_ratio
|
|
|
|
y_offset: slideObject.y_offset
|
|
|
|
num: slideObject.num
|
|
|
|
x_offset: slideObject.x_offset
|
|
|
|
current: slideObject.current
|
|
|
|
png_uri: slideObject.png_uri
|
|
|
|
txt_uri: slideObject.txt_uri
|
|
|
|
id: slideObject.id
|
|
|
|
width_ratio: slideObject.width_ratio
|
|
|
|
swf_uri: slideObject.swf_uri
|
|
|
|
thumb_uri: slideObject.thumb_uri
|
2014-07-10 03:09:10 +08:00
|
|
|
|
2014-07-08 23:14:55 +08:00
|
|
|
id = Meteor.Slides.insert(entry)
|
|
|
|
console.log "added slide id =[#{id}]:#{slideObject.id} in #{meetingId}. Now there are
|
|
|
|
#{Meteor.Slides.find({meetingId: meetingId}).count()} slides in the meeting"
|
2014-07-31 00:19:11 +08:00
|
|
|
|
|
|
|
removeSlideFromCollection: (meetingId, slideId) ->
|
|
|
|
if meetingId? and slideId? and Meteor.Slides.findOne({meetingId: meetingId, "slide.id": slideId})?
|
|
|
|
id = Meteor.Slides.findOne({meetingId: meetingId, "slide.id": slideId})
|
|
|
|
if id?
|
|
|
|
Meteor.Slides.remove(id._id)
|
|
|
|
console.log "----removed slide[" + slideId + "] from " + meetingId
|
2014-07-31 03:35:31 +08:00
|
|
|
|
|
|
|
displayThisSlide: (meetingId, newSlideId, slideObject) ->
|
|
|
|
presentationId = newSlideId.split("/")[0] # grab the presentationId part of the slideId
|
|
|
|
# change current to false for the old slide
|
|
|
|
Meteor.Slides.update({presentationId: presentationId, "slide.current": true}, {$set: {"slide.current": false}})
|
|
|
|
|
|
|
|
# for the new slide: remove the version which came with presentation_shared_message from the Collection
|
|
|
|
# to avoid using old data (this message contains everything we need for the new slide)
|
|
|
|
Meteor.call("removeSlideFromCollection", meetingId, newSlideId)
|
|
|
|
# add the new slide to the collection
|
|
|
|
Meteor.call("addSlideToCollection", meetingId, presentationId, slideObject)
|