hdjs
Version:
hdjs framework
58 lines (47 loc) • 1.45 kB
text/coffeescript
class Dropzone extends SimpleModule
: "Dropzone"
_entered: 0
_init: ->
=
if not .uploader?
throw new Error "Can't work without 'simple-uploader' module"
return
$(document.body).on "dragover", (e) ->
e.originalEvent.dataTransfer.dropEffect = "none"
e.preventDefault()
$(document.body).on 'drop', (e) ->
e.preventDefault()
= .toolbar.findButton "image"
.body.on "dragover", (e) ->
e.originalEvent.dataTransfer.dropEffect = "copy"
e.stopPropagation()
e.preventDefault()
.on "dragenter", (e) =>
() if ( += 1) == 1
e.preventDefault()
e.stopPropagation()
.on "dragleave", (e) =>
() if ( -= 1) <= 0
e.preventDefault()
e.stopPropagation()
.on "drop", (e) =>
imageFiles = []
for file in e.originalEvent.dataTransfer.files
if not file
alert "「#{file.name}]」文件不是图片。"
()
return false
imageFiles.push file
for file in imageFiles
.uploader.upload file, inline: true
()
e.stopPropagation()
e.preventDefault()
show: ->
.setActive true
hide: ->
.setActive false
= 0
validFile: (file) ->
file.type.indexOf("image/") > -1
Simditor.connect Dropzone