From f5be48d81dc4cb2d9e7b1ef340deec2ded042982 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Thu, 11 Feb 2016 08:17:52 +0100 Subject: [PATCH] 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. --- core/js/share.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/core/js/share.js b/core/js/share.js index 9baa34d9bb7..b2c1bd5de10 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -52,15 +52,21 @@ OC.Share = _.extend(OC.Share || {}, { loadIcons:function(itemType, fileList, callback) { // Load all share icons $.get( - OC.filePath('core', 'ajax', 'share.php'), + OC.linkToOCS('apps/files_sharing/api/v1', 2) + 'shares', { - fetch: 'getItemsSharedStatuses', - itemType: itemType + subfiles: 'true', + path: fileList.dirInfo.path, + format: 'json' }, function(result) { - if (result && result.status === 'success') { + if (result && result.ocs.meta.statuscode === 200) { OC.Share.statuses = {}; - $.each(result.data, function(item, data) { - OC.Share.statuses[item] = data; + $.each(result.ocs.data, function(it, share) { + 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)) { callback(OC.Share.statuses);