Calculate the share statuses in js from the OCS Response

Right now this is only done on page load. We should do it on each
directory traversal.
This commit is contained in:
Roeland Jago Douma 2016-02-11 08:17:52 +01:00
parent 06af9b817e
commit f5be48d81d
1 changed files with 12 additions and 6 deletions

View File

@ -52,15 +52,21 @@ OC.Share = _.extend(OC.Share || {}, {
loadIcons:function(itemType, fileList, callback) { loadIcons:function(itemType, fileList, callback) {
// Load all share icons // Load all share icons
$.get( $.get(
OC.filePath('core', 'ajax', 'share.php'), OC.linkToOCS('apps/files_sharing/api/v1', 2) + 'shares',
{ {
fetch: 'getItemsSharedStatuses', subfiles: 'true',
itemType: itemType path: fileList.dirInfo.path,
format: 'json'
}, function(result) { }, function(result) {
if (result && result.status === 'success') { if (result && result.ocs.meta.statuscode === 200) {
OC.Share.statuses = {}; OC.Share.statuses = {};
$.each(result.data, function(item, data) { $.each(result.ocs.data, function(it, share) {
OC.Share.statuses[item] = data; if (!(share.item_source in OC.Share.statuses)) {
OC.Share.statuses[share.item_source] = {link: false};
}
if (share.share_type === OC.Share.SHARE_TYPE_LINK) {
OC.Share.statuses[share.item_source] = {link: true};
}
}); });
if (_.isFunction(callback)) { if (_.isFunction(callback)) {
callback(OC.Share.statuses); callback(OC.Share.statuses);