bigbluebutton-Github/labs/meteor-client/client/views/whiteboard/slide.coffee

62 lines
2.3 KiB
CoffeeScript
Raw Normal View History

Template.slide.rendered = ->
currentPresentation = Meteor.Presentations.findOne({"presentation.current": true})
presentationId = currentPresentation?.presentation?.id
currentSlide = Meteor.Slides.findOne({"presentationId": presentationId, "slide.current": true})
if currentSlide?.slide?.png_uri?
2014-08-06 05:13:51 +08:00
Template.slide.createWhiteboardPaper (wpm)->
Template.slide.displaySlide wpm
Template.slide.helpers
createWhiteboardPaper: (callback) ->
Template.slide.whiteboardPaperModel = new WhiteboardPaperModel('whiteboard-paper')
callback(Template.slide.whiteboardPaperModel)
displaySlide: (wpm) ->
2014-08-11 23:56:46 +08:00
currentPresentation = Meteor.Presentations.findOne({"presentation.current": true})
presentationId = currentPresentation?.presentation?.id
currentSlide = Meteor.Slides.findOne({"presentationId": presentationId, "slide.current": true})
wpm.create()
wpm._displayPage(currentSlide?.slide?.png_uri)
updatePointerLocation: (pointer) ->
2014-08-13 00:18:29 +08:00
wpm = Template.slide.whiteboardPaperModel
wpm?.moveCursor(pointer.x, pointer.y)
manuallyDisplayShapes: ->
currentPresentation = Meteor.Presentations.findOne({"presentation.current": true})
presentationId = currentPresentation?.presentation?.id
currentSlide = Meteor.Slides.findOne({"presentationId": presentationId, "slide.current": true})
wpm = Template.slide.whiteboardPaperModel
shapes = Meteor.Shapes.find({whiteboardId: currentSlide?.slide?.id}).fetch()
for s in shapes
shapeInfo = s.shape?.shape
shapeType = shapeInfo?.type
for num in [0..3] # the coordinates must be in the range 0 to 1
shapeInfo.points[num] = shapeInfo.points[num] / 100
wpm.makeShape(shapeType, shapeInfo)
wpm.updateShape(shapeType, shapeInfo)
2014-08-11 23:56:46 +08:00
#### SHAPE ####
Template.shape.rendered = ->
2014-08-12 02:46:10 +08:00
# @data is the shape object coming from the {{#each}} in the html file
shapeInfo = @data.shape?.shape
shapeType = shapeInfo?.type
for num in [0..3] # the coordinates must be in the range 0 to 1
2014-08-12 02:46:10 +08:00
shapeInfo.points[num] = shapeInfo.points[num] / 100
wpm = Template.slide.whiteboardPaperModel
2014-08-12 02:46:10 +08:00
wpm.makeShape(shapeType, shapeInfo)
wpm.updateShape(shapeType, shapeInfo)
Template.shape.destroyed = ->
wpm = Template.slide.whiteboardPaperModel
wpm.clearShapes()
Template.slide.displaySlide(wpm)
Template.slide.manuallyDisplayShapes()