master
 1class csx.Views.My.Photos.NewModalView extends Marionette.ItemView
 2  template: JST["templates/my/photos/new-modal"]
 3  ui:
 4    watermark: '#watermark'
 5    upload_button: "#upload-photo-button"
 6
 7  events:
 8    "click #upload-photo-button": "save"
 9    "change #photo-attachment": "displayPreview"
10    "keyup #watermark": "updateWatermark"
11
12  constructor: (options) ->
13    super(options)
14    @collection = csx.Collections.Photo
15    @cake = options.cake
16    @model = new @collection.model(cake_id: @cake.id)
17
18  save: (e) ->
19    e.preventDefault()
20    e.stopPropagation()
21    @closeDialog()
22    @model.on('progress', @displayProgress)
23    @collection.create(@model)
24
25  displayPreview: (event) ->
26    input = event.currentTarget
27    if (input.files && input.files[0])
28      file = input.files[0]
29      reader = new FileReader()
30      reader.onload = (e) ->
31        $('#preview-image').attr('src', e.target.result)
32        $('#preview-image').removeClass('hide')
33      reader.readAsDataURL(file)
34      @model.set('image', file)
35      @model.set('thumb_url', event.target.result)
36    else
37      $('#preview-image').addClass('hide')
38
39  displayProgress: (progress) ->
40    percentCompleted = progress*100
41    @set('percentComplete', percentCompleted)
42
43  closeDialog: (photo) ->
44    $('#modal').modal('hide')
45    @remove()
46
47  updateWatermark: ->
48    @model.set('watermark', @ui.watermark.val())