Code coverage report for code/views/image-my-computer-dialog-view.coffee

Statements: 0% (0 / 27)      Branches: 0% (0 / 6)      Functions: 0% (0 / 3)      Lines: 0% (0 / 21)      Ignored: none     

All files » code/views/ » image-my-computer-dialog-view.coffee
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41                                                                                 
DropZone = React.createFactory require './dropzone-view'
ImageDialogStore = require '../stores/image-dialog-store'
 
tr = require '../utils/translate'
 
{div, p, input} = React.DOM
 
module.exports = React.createClass
  displayName: 'MyComputer'
 
  mixins: [ ImageDialogStore.mixin, require '../mixins/image-dialog-view']
 
  previewImage: (e) ->
    e.preventDefault()
    files = @refs.file.getDOMNode().files
    if files.length is 0
      alert tr "~IMAGE-BROWSER.PLEASE_DROP_FILE"
    else if @hasValidImageExtension files[0].name
      title = (files[0].name.split '.')[0]
      reader = new FileReader()
      reader.onload = (e) =>
        @imageSelected
          image: e.target.result
          title: title
          metadata:
            title: title
            source: 'external'
      reader.readAsDataURL files[0]
 
  render: ->
    (div {className: 'my-computer-dialog'},
      if @state.selectedImage
        @renderPreviewImage()
      else
        (div {},
          (DropZone {header: (tr "~IMAGE-BROWSER.DROP_IMAGE_FROM_DESKTOP"), dropped: @imageDropped}),
          (p {}, (tr "~IMAGE-BROWSER.CHOOSE_FILE"))
          (p {}, (input {ref: 'file', type: 'file', onChange: @previewImage}))
        )
    )