diff --git a/client/stylesheets/base.less b/client/stylesheets/base.less index fd2f70c4114ee..8672f19690b5a 100644 --- a/client/stylesheets/base.less +++ b/client/stylesheets/base.less @@ -3308,3 +3308,32 @@ a.github-fork { } } } + +.dropzone { + .dropzone-overlay { + display: none; + } + + &.over .dropzone-overlay { + background-color: rgba(0, 0, 0, 0.5); + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 1000000; + display: block; + color: white; + font-size: 50px; + display: flex; + align-items: center; + justify-content: center; + + > div { + background-color: rgba(0,0,0,0.6); + padding: 40px; + border-radius: 10px; + pointer-events: none; + } + } +} \ No newline at end of file diff --git a/client/views/app/room.coffee b/client/views/app/room.coffee index 5549afe17e6eb..a940aadde218b 100644 --- a/client/views/app/room.coffee +++ b/client/views/app/room.coffee @@ -457,26 +457,22 @@ Template.room.events 'click .stop-video': (event) -> webrtc.stop() - 'dragenter #dropzone': (e) -> - console.log 'DRAG ENTER' + 'dragenter .dropzone': (e) -> + e.currentTarget.classList.add 'over' - 'dragleave #dropzone': (e) -> - console.log 'DRAG OUT' + 'dragleave .dropzone-overlay': (e) -> + e.currentTarget.parentNode.classList.remove 'over' + + 'dropped .dropzone-overlay': (e) -> + e.currentTarget.parentNode.classList.remove 'over' - 'dropped #dropzone': (e) -> FS?.Utility?.eachFile e, (file) -> newFile = new (FS.File)(file) newFile.rid = Session.get('openedRoom') + newFile.userId = Meteor.userId() Files.insert newFile, (error, fileObj) -> unless error toastr.success 'Upload succeeded!' - console.log('room fileObj', fileObj) if window.rocketDebug - Meteor.call 'sendMessage', - _id: Random.id() - rid: fileObj.rid - msg: 'File Uploaded: *' + fileObj.original.name + '* \n' + document.location.origin + '/cfs/files/Files/' + fileObj._id - file: - _id: fileObj._id Template.room.onCreated -> # this.scrollOnBottom = true diff --git a/client/views/app/room.html b/client/views/app/room.html index 081797b84b21f..bd30cc3042028 100644 --- a/client/views/app/room.html +++ b/client/views/app/room.html @@ -1,226 +1,231 @@ diff --git a/lib/fileUpload.coffee b/lib/fileUpload.coffee index 6805f53015fa0..dfb5bf53b4dd6 100644 --- a/lib/fileUpload.coffee +++ b/lib/fileUpload.coffee @@ -1,10 +1,23 @@ if FS? @fileStore = new FS.Store.GridFS 'files' + + fileStore.on 'stored', Meteor.bindEnvironment (storeName, fileObj) -> + Meteor.runAsUser fileObj.userId, -> + Meteor.call 'sendMessage', + _id: Random.id() + rid: fileObj.rid + msg: """ + File Uploaded: *#{fileObj.original.name}* + #{Meteor.absoluteUrl()}/cfs/files/Files/#{fileObj._id} + """ + file: + _id: fileObj._id + @Files = new FS.Collection 'Files', stores: [fileStore], filter: - maxSize: 1048576, + maxSize: 2097152, allow: contentTypes: ['image/*'] onInvalid: (message) ->