diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 463420ff160aa..c079c8247bc4b 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -381,6 +381,9 @@ } }); + window._nc_event_bus.subscribe('files_sharing:share:created', () => { self.reload(true) }); + window._nc_event_bus.subscribe('files_sharing:share:deleted', () => { self.reload(true) }); + this.$fileList.on('click','td.filename>a.name, td.filesize, td.date', _.bind(this._onClickFile, this)); this.$fileList.on("droppedOnFavorites", function (event, file) { @@ -2200,7 +2203,7 @@ * * @return ajax call object */ - reload: function() { + reload: function(keepOpen) { this._selectedFiles = {}; this._selectionSummary.clear(); if (this._currentFileModel) { @@ -2215,7 +2218,7 @@ properties: this._getWebdavProperties() } ); - if (this._detailsView) { + if (this._detailsView && !keepOpen) { // close sidebar this._updateDetailsView(null); } diff --git a/apps/files_sharing/src/mixins/ShareRequests.js b/apps/files_sharing/src/mixins/ShareRequests.js index 9eaad8c4161e4..a03e932705824 100644 --- a/apps/files_sharing/src/mixins/ShareRequests.js +++ b/apps/files_sharing/src/mixins/ShareRequests.js @@ -57,7 +57,9 @@ export default { if (!request?.data?.ocs) { throw request } - return new Share(request.data.ocs.data) + const share = new Share(request.data.ocs.data) + emit('files_sharing:share:created', { share }) + return share } catch (error) { console.error('Error while creating share', error) const errorMessage = error?.response?.data?.ocs?.meta?.message @@ -81,6 +83,7 @@ export default { if (!request?.data?.ocs) { throw request } + emit('files_sharing:share:deleted', { id }) return true } catch (error) { console.error('Error while deleting share', error) @@ -102,6 +105,7 @@ export default { async updateShare(id, properties) { try { const request = await axios.put(shareUrl + `/${id}`, properties) + emit('files_sharing:share:updated', { id }) if (!request?.data?.ocs) { throw request } else {