From 7b47e690a92108d7900e94aab5694b98cc089a31 Mon Sep 17 00:00:00 2001 From: Travis Odom Date: Fri, 29 Jan 2016 21:09:36 -0600 Subject: [PATCH 1/5] Add a button to allow deleting an uploaded file --- .../flex-tab/tabs/uploadedFilesList.coffee | 31 ++++++++++++++++++- .../flex-tab/tabs/uploadedFilesList.html | 10 ++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.coffee b/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.coffee index 1f8b59a0cbf..6144bb3fb7b 100644 --- a/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.coffee +++ b/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.coffee @@ -2,7 +2,7 @@ roomFiles = new Mongo.Collection 'room_files' Template.uploadedFilesList.helpers files: -> - return roomFiles.find({ rid: @rid }, { sort: {uploadedAt : -1} }).fetch() + return roomFiles.find({ rid: @rid }, { sort: { uploadedAt: -1 } }).fetch() hasFiles: -> return roomFiles.find({ rid: @rid }).count() > 0 @@ -23,11 +23,40 @@ Template.uploadedFilesList.helpers escapedName: -> return s.escapeHTML @name + canDelete: -> + msg = ChatMessage.findOne { file: { _id: @_id } } + if msg + return RocketChat.authz.hasAtLeastOnePermission('delete-message', msg.rid) or RocketChat.settings.get('Message_AllowDeleting') and msg.u?._id is Meteor.userId() + Template.uploadedFilesList.events 'click .room-file-item': (e, t) -> if $(e.currentTarget).siblings('.icon-picture').length e.preventDefault() + 'click .icon-trash': (e, t) -> + self = this + swal { + title: 'Are you sure?' + text: 'You will not be able to recover this file.' + type: 'warning' + showCancelButton: true + confirmButtonColor: '#DD6B55' + confirmButtonText: 'Yes delete it' + cancelButtonText: 'Cancel' + closeOnConfirm: false + html: false + }, -> + swal + title: 'Deleted' + text: 'Your file has been deleted.' + type: 'success' + timer: 1000 + showConfirmButton: false + + msg = ChatMessage.findOne { file: { _id: self._id } } + fileCollection.remove self._id, () -> + chatMessages[Session.get('openedRoom')].deleteMsg(msg); + 'scroll .content': _.throttle (e, t) -> if e.target.scrollTop >= e.target.scrollHeight - e.target.clientHeight t.limit.set(t.limit.get() + 50) diff --git a/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.html b/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.html index 2ac19362308..b5fb40165e0 100644 --- a/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.html +++ b/packages/rocketchat-ui-flextab/flex-tab/tabs/uploadedFilesList.html @@ -1,4 +1,11 @@