summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/js
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2017-11-21 12:45:57 +0100
committerArthur Schiwon <blizzz@arthur-schiwon.de>2017-11-23 13:32:14 +0100
commit077381c7b3aa220253a18ce3bbb946e4a46d8213 (patch)
tree8a4ca1104135a465b63f5a50738f9e225fa3fbfa /apps/files_sharing/js
parent9d95391ff14a1c753e8fda4ecaacc007572552f4 (diff)
downloadnextcloud-server-077381c7b3aa220253a18ce3bbb946e4a46d8213.tar.gz
nextcloud-server-077381c7b3aa220253a18ce3bbb946e4a46d8213.zip
rip out obsolete recipientsDisplayName
also needs tests adjustements, and this also brings in natural sorting Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/files_sharing/js')
-rw-r--r--apps/files_sharing/js/share.js40
-rw-r--r--apps/files_sharing/js/sharedfilelist.js17
2 files changed, 16 insertions, 41 deletions
diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js
index 9b794ca2d13..aa0803c491b 100644
--- a/apps/files_sharing/js/share.js
+++ b/apps/files_sharing/js/share.js
@@ -52,8 +52,7 @@
tr.attr('data-permissions', fileData.permissions | OC.PERMISSION_UPDATE);
}
}
- if (fileData.recipientsDisplayName) {
- tr.attr('data-share-recipients', fileData.recipientsDisplayName);
+ if (fileData.recipientData && !_.isEmpty(fileData.recipientData)) {
tr.attr('data-share-recipient-data', JSON.stringify(fileData.recipientData));
}
if (fileData.shareTypes) {
@@ -78,8 +77,6 @@
fileInfo.shares.push({expiration: expirationTimestamp});
}
- fileInfo.recipientsDisplayName = $el.attr('data-share-recipients') || undefined;
-
return fileInfo;
};
@@ -219,14 +216,12 @@
var recipients = _.pluck(shareModel.get('shares'), 'share_with_displayname');
// note: we only update the data attribute because updateIcon()
if (recipients.length) {
- $tr.attr('data-share-recipients', OCA.Sharing.Util.formatRecipients(recipients));
var recipientData = _.mapObject(shareModel.get('shares'), function (share) {
return {shareWith: share.share_with, shareWithDisplayName: share.share_with_displayname};
});
$tr.attr('data-share-recipient-data', JSON.stringify(recipientData));
}
else {
- $tr.removeAttr('data-share-recipients');
$tr.removeAttr('data-share-recipient-data');
}
},
@@ -235,15 +230,15 @@
* Update the file action share icon for the given file
*
* @param $tr file element of the file to update
- * @param {bool} hasUserShares true if a user share exists
- * @param {bool} hasLinkShare true if a link share exists
+ * @param {boolean} hasUserShares true if a user share exists
+ * @param {boolean} hasLinkShare true if a link share exists
*
- * @return {bool} true if the icon was set, false otherwise
+ * @return {boolean} true if the icon was set, false otherwise
*/
_updateFileActionIcon: function($tr, hasUserShares, hasLinkShare) {
// if the statuses are loaded already, use them for the icon
// (needed when scrolling to the next page)
- if (hasUserShares || hasLinkShare || $tr.attr('data-share-recipients') || $tr.attr('data-share-owner')) {
+ if (hasUserShares || hasLinkShare || $tr.attr('data-share-recipient-data') || $tr.attr('data-share-owner')) {
OC.Share.markFileAsShared($tr, true, hasLinkShare);
return true;
}
@@ -251,31 +246,6 @@
},
/**
- * Formats a recipients array to be displayed.
- * The first four recipients will be shown and the
- * other ones will be shown as "+x" where "x" is the number of
- * remaining recipients.
- *
- * @param {Array.<String>} recipients recipients array
- * @param {int} count optional total recipients count (in case the array was shortened)
- * @return {String} formatted recipients display text
- */
- formatRecipients: function(recipients, count) {
- var maxRecipients = 4;
- var text;
- if (!_.isNumber(count)) {
- count = recipients.length;
- }
- // TODO: use natural sort
- recipients = _.first(recipients, maxRecipients).sort();
- text = recipients.join(', ');
- if (count > maxRecipients) {
- text += ', +' + (count - maxRecipients);
- }
- return text;
- },
-
- /**
* @param {Array} fileData
* @returns {String}
*/
diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js
index fb4909e764e..ad6f70a6f1c 100644
--- a/apps/files_sharing/js/sharedfilelist.js
+++ b/apps/files_sharing/js/sharedfilelist.js
@@ -375,11 +375,6 @@
// convert the recipients map to a flat
// array of sorted names
data.mountType = 'shared';
- data.recipients = _.keys(data.recipients);
- data.recipientsDisplayName = OCA.Sharing.Util.formatRecipients(
- data.recipients,
- data.recipientsCount
- );
delete data.recipientsCount;
if (self._sharedWithUser) {
// only for outgoing shres
@@ -413,10 +408,19 @@
* @property {int} stime share timestamp in milliseconds
* @property {String} [targetDisplayName] display name of the recipient
* (only when shared with others)
+ * @property {String} [targetShareWithId] id of the recipient
*
*/
/**
+ * Recipient attributes
+ *
+ * @typedef {Object} OCA.Sharing.RecipientInfo
+ * @property {String} shareWith the id of the recipient
+ * @property {String} shareWithDisplayName the display name of the recipient
+ */
+
+ /**
* Shared file info attributes.
*
* @typedef {OCA.Files.FileInfo} OCA.Sharing.SharedFileInfo
@@ -427,7 +431,8 @@
* @property {String} shareOwner name of the share owner
* @property {Array.<String>} recipients name of the first 4 recipients
* (this is mostly for display purposes)
- * @property {String} recipientsDisplayName display name
+ * @property {Object.<OCA.Sharing.RecipientInfo>} recipientData (as object for easier
+ * passing to HTML data attributes with jQuery)
*/
OCA.Sharing.FileList = FileList;