}
});
+ 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) {
*
* @return ajax call object
*/
- reload: function() {
+ reload: function(keepOpen) {
this._selectedFiles = {};
this._selectionSummary.clear();
if (this._currentFileModel) {
properties: this._getWebdavProperties()
}
);
- if (this._detailsView) {
+ if (this._detailsView && !keepOpen) {
// close sidebar
this._updateDetailsView(null);
}
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')
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
if (!request?.data?.ocs) {
throw request
}
+ emit('files_sharing:share:deleted', { id })
return true
} catch (error) {
console.error('Error while deleting share', error)
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 {