From 88f6f4fedda833fb6c279c6622282bb6b693d94f Mon Sep 17 00:00:00 2001 From: rockhouse Date: Mon, 20 Jul 2015 14:58:12 +0200 Subject: [PATCH 1/5] First draft of file upload functionality --- .meteor/packages | 3 +++ .meteor/versions | 17 +++++++++++++++++ client/views/app/room.coffee | 25 +++++++++++++++++++++++++ client/views/app/room.html | 3 +++ 4 files changed, 48 insertions(+) diff --git a/.meteor/packages b/.meteor/packages index e5a7c1f10376..3136642c548d 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -60,3 +60,6 @@ yasaricli:slugify konecty:nrr konecty:change-case kevohagan:sweetalert +raix:ui-dropped-event +cfs:standard-packages +cfs:gridfs diff --git a/.meteor/versions b/.meteor/versions index 215703e3f2fa..61d8544d4f56 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -13,7 +13,23 @@ blaze@2.1.2 blaze-tools@1.0.3 boilerplate-generator@1.0.3 callback-hook@1.0.3 +cfs:access-point@0.1.49 +cfs:base-package@0.0.30 +cfs:collection@0.5.5 +cfs:collection-filters@0.2.4 +cfs:data-man@0.0.6 +cfs:file@0.1.17 +cfs:gridfs@0.0.33 cfs:http-methods@0.0.29 +cfs:http-publish@0.0.13 +cfs:power-queue@0.9.11 +cfs:reactive-list@0.0.9 +cfs:reactive-property@0.0.4 +cfs:standard-packages@0.5.9 +cfs:storage-adapter@0.2.2 +cfs:tempstore@0.1.5 +cfs:upload-http@0.0.20 +cfs:worker@0.1.4 check@1.0.5 chrismbeckett:toastr@2.1.0 coffeescript@1.0.6 @@ -89,6 +105,7 @@ pierreeric:rxfavico@0.3.5_1 qnub:emojione@0.0.3 raix:eventemitter@0.1.2 raix:handlebar-helpers@0.2.4 +raix:ui-dropped-event@0.0.7 random@1.0.3 reactive-dict@1.1.0 reactive-var@1.0.5 diff --git a/client/views/app/room.coffee b/client/views/app/room.coffee index 29201639e5cd..0871ac1d0d5d 100644 --- a/client/views/app/room.coffee +++ b/client/views/app/room.coffee @@ -458,6 +458,31 @@ Template.room.events swal t('Deleted'), t('Your_entry_has_been_deleted'), 'success' ChatMessages.deleteMsg(msg) + 'dragenter #dropzone': (e) -> + $('#dropzone').css + opacity: 0.7 + 'width': $(document).width() + 'height': $(document).height() + $('body').css 'overflow': 'hidden' + $('#dropzone').css 'display': 'block' + console.log 'DRAG ENTER' + + 'dragleave #dropzone': (e) -> + console.log 'DRAG OUT' + + 'dropped #dropzone': (e) -> + FS.Utility.eachFile e, (file) -> + newFile = new (FS.File)(file) + newFile.room = "GENERAL" + Files.insert newFile, (error, fileObj) -> + if error + toastr.error 'Upload failed... please try again. Error: ' + error + else + toastr.success 'Upload succeeded!' + `input = { value: 'File Uploaded: http://localhost:3000/cfs/files/Files/'+fileObj._id}` + ChatMessages.send(newFile.room, input) + + Template.room.onCreated -> console.log 'room.onCreated' if window.rocketDebug # this.scrollOnBottom = true diff --git a/client/views/app/room.html b/client/views/app/room.html index 575a37dfb136..35840dc7e363 100644 --- a/client/views/app/room.html +++ b/client/views/app/room.html @@ -1,4 +1,6 @@ From d6e2c40dec095fc75eae7b9eb74939b0b5b61276 Mon Sep 17 00:00:00 2001 From: rockhouse Date: Mon, 20 Jul 2015 14:59:32 +0200 Subject: [PATCH 2/5] First draft of file upload functionality --- lib/fileUpload.coffee | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 lib/fileUpload.coffee diff --git a/lib/fileUpload.coffee b/lib/fileUpload.coffee new file mode 100644 index 000000000000..3d11be388ca3 --- /dev/null +++ b/lib/fileUpload.coffee @@ -0,0 +1,39 @@ +if Meteor.isServer + fileStore = new (FS.Store.GridFS)('files', {}) + `Files = new FS.Collection('Files', { + stores: [fileStore], + filter: { allow: { contentTypes: ['image/*'] } } +})` + +if Meteor.isClient + fileStore = new (FS.Store.GridFS)('files') + `Files = new FS.Collection('Files', { + stores: [fileStore], + filter: { + maxSize: 1048576, + allow: { contentTypes: ['image/*'] }, + onInvalid: function (message) { + toastr.error(message); + } + } +})` +# Allow rules +Files.allow + insert: -> + true + update: -> + false + download: -> + true + remove: -> + false + +Files.deny + insert: -> + false + update: -> + true + remove: -> + true + download: -> + false From a40897f2326e20238dc649fa924de51f2eb08e54 Mon Sep 17 00:00:00 2001 From: rockhouse Date: Mon, 20 Jul 2015 15:19:34 +0200 Subject: [PATCH 3/5] Still need a greyout animation --- client/views/app/room.coffee | 6 ------ 1 file changed, 6 deletions(-) diff --git a/client/views/app/room.coffee b/client/views/app/room.coffee index 0871ac1d0d5d..4667cb7c6590 100644 --- a/client/views/app/room.coffee +++ b/client/views/app/room.coffee @@ -459,12 +459,6 @@ Template.room.events ChatMessages.deleteMsg(msg) 'dragenter #dropzone': (e) -> - $('#dropzone').css - opacity: 0.7 - 'width': $(document).width() - 'height': $(document).height() - $('body').css 'overflow': 'hidden' - $('#dropzone').css 'display': 'block' console.log 'DRAG ENTER' 'dragleave #dropzone': (e) -> From cb056d166a7997f53330fdee668df08d855dddb2 Mon Sep 17 00:00:00 2001 From: rockhouse Date: Mon, 20 Jul 2015 15:46:00 +0200 Subject: [PATCH 4/5] Getting room variable from Session --- client/views/app/room.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/views/app/room.coffee b/client/views/app/room.coffee index 4667cb7c6590..935b3e7311fe 100644 --- a/client/views/app/room.coffee +++ b/client/views/app/room.coffee @@ -467,7 +467,7 @@ Template.room.events 'dropped #dropzone': (e) -> FS.Utility.eachFile e, (file) -> newFile = new (FS.File)(file) - newFile.room = "GENERAL" + newFile.room = Session.get('openedRoom') Files.insert newFile, (error, fileObj) -> if error toastr.error 'Upload failed... please try again. Error: ' + error From 821a1227b71b49bb2e928f9b021e72a62c9675cd Mon Sep 17 00:00:00 2001 From: rockhouse Date: Tue, 21 Jul 2015 12:38:01 +0200 Subject: [PATCH 5/5] Fixed merge conflicts --- .meteor/packages | 7 ------- client/views/app/room.html | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.meteor/packages b/.meteor/packages index 8794c2f41c25..48c6d434bf21 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -16,17 +16,14 @@ less meteor-platform reactive-var service-configuration - chrismbeckett:toastr francocatena:status jparker:gravatar -kevohagan:sweetalert konecty:autolinker konecty:change-case konecty:delayed-task konecty:mongo-counter konecty:multiple-instances-status -konecty:nrr konecty:user-presence mizzao:autocomplete mizzao:timesync @@ -56,17 +53,13 @@ tmeasday:errors todda00:friendly-slugs underscorestring:underscore.string yasaricli:slugify -<<<<<<< HEAD konecty:nrr -konecty:change-case kevohagan:sweetalert raix:ui-dropped-event cfs:standard-packages cfs:gridfs -======= meteorhacks:kadira meteorhacks:flow-router meteorhacks:flow-layout arunoda:streams@0.1.17 rocketchat:webrtc ->>>>>>> master diff --git a/client/views/app/room.html b/client/views/app/room.html index 6d92bb3944ce..2c0459da9568 100644 --- a/client/views/app/room.html +++ b/client/views/app/room.html @@ -1,4 +1,5 @@