From 5a9c99e6ac53ec021bcd124c2b8664fe269a5168 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Thu, 23 Nov 2017 17:51:56 +0100 Subject: [PATCH] recycle SharedFileInfo values in fileInfo fileInfo is composed of data from sharing, however additional data is pulled when sidebar opens, e.g. the size. Then, existing data is overwritten by data from the other source (files). The data points that would be lost are not dirty however and still used, so we keep them. Signed-off-by: Arthur Schiwon --- apps/files/js/filelist.js | 5 +---- apps/files_sharing/js/sharedfilelist.js | 22 +++++++++++++++++++++- core/js/share.js | 1 - 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 6996e423776..10efa54496a 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -553,9 +553,6 @@ actionsWidth += $(action).outerWidth(); }); - // subtract app navigation toggle when visible - containerWidth -= $('#app-navigation-toggle').width(); - this.breadcrumb._resize(); this.$table.find('>thead').width($('#app-content').width() - OC.Util.getScrollBarWidth()); @@ -1369,7 +1366,7 @@ * @return new tr element (not appended to the table) */ add: function(fileData, options) { - var index = -1; + var index; var $tr; var $rows; var $insertionPoint; diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js index ad6f70a6f1c..ad818d91413 100644 --- a/apps/files_sharing/js/sharedfilelist.js +++ b/apps/files_sharing/js/sharedfilelist.js @@ -153,6 +153,27 @@ // storage info like free space / used space }, + updateRow: function($tr, fileInfo, options) { + if(!fileInfo instanceof OCA.Sharing.SharedFileInfo) { + // recycle SharedFileInfo values if something tries to overwrite it + var oldModel = this.getModelForFile($tr); + + if(_.isUndefined(fileInfo.recipientData) && oldModel.recipientData) { + fileInfo.recipientData = oldModel.recipientData; + } + if(_.isUndefined(fileInfo.recipients) && oldModel.recipientData) { + fileInfo.recipientData = oldModel.recipientData; + } + if(_.isUndefined(fileInfo.shares) && oldModel.shares) { + fileInfo.shares = oldModel.shares; + } + if(_.isUndefined(fileInfo.shareOwner) && oldModel.shareOwner) { + fileInfo.shareOwner = oldModel.shareOwner; + } + } + OCA.Files.FileList.prototype._createRow.updateRow(this, arguments); + }, + reload: function() { this.showMask(); if (this._reloadCall) { @@ -225,7 +246,6 @@ }, _makeFilesFromRemoteShares: function(data) { - var self = this; var files = data; files = _.chain(files) diff --git a/core/js/share.js b/core/js/share.js index 4260c0e55bd..7662d6cffb9 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -161,7 +161,6 @@ OC.Share = _.extend(OC.Share || {}, { updateIcon:function(itemType, itemSource) { var shares = false; var link = false; - var image = OC.imagePath('core', 'actions/share'); var iconClass = ''; $.each(OC.Share.itemShares, function(index) { if (OC.Share.itemShares[index]) {