reload filelist when adding or removing shares

Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
This commit is contained in:
Robin Appelman 2023-05-15 13:03:13 +02:00
parent ca6618d761
commit 1285a2bc9e
No known key found for this signature in database
GPG key ID: 42B69D8A64526EFB
2 changed files with 11 additions and 3 deletions

View file

@ -383,6 +383,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) {
@ -2199,7 +2202,7 @@
*
* @return ajax call object
*/
reload: function() {
reload: function(keepOpen) {
this._selectedFiles = {};
this._selectionSummary.clear();
if (this._currentFileModel) {
@ -2214,7 +2217,7 @@
properties: this._getWebdavProperties()
}
);
if (this._detailsView) {
if (this._detailsView && !keepOpen) {
// close sidebar
this._updateDetailsView(null);
}

View file

@ -29,6 +29,7 @@ import 'url-search-params-polyfill'
import { generateOcsUrl } from '@nextcloud/router'
import axios from '@nextcloud/axios'
import Share from '../models/Share'
import { emit } from '@nextcloud/event-bus'
const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')
@ -57,7 +58,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 +84,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 +106,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 {