diff options
author | Louis Chemineau <louis@chmn.me> | 2022-01-26 15:33:36 +0100 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2022-01-26 17:58:43 +0100 |
commit | be968a8841587f6e4034ff32880d1ceca4a827bd (patch) | |
tree | 359a57ca4304c25fdb04051519ab9c183686f488 /apps/files_sharing/src | |
parent | a145edd00db95135bee6f584e21301267fb5ac16 (diff) | |
download | nextcloud-server-be968a8841587f6e4034ff32880d1ceca4a827bd.tar.gz nextcloud-server-be968a8841587f6e4034ff32880d1ceca4a827bd.zip |
Use @nextcloud/sharing in files and files_sharing
Signed-off-by: Louis Chemineau <louis@chmn.me>
Update tests
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r-- | apps/files_sharing/src/components/SharingEntryLink.vue | 9 | ||||
-rw-r--r-- | apps/files_sharing/src/mixins/ShareTypes.js | 15 | ||||
-rw-r--r-- | apps/files_sharing/src/mixins/SharesMixin.js | 12 | ||||
-rw-r--r-- | apps/files_sharing/src/services/ExternalShareActions.js | 4 | ||||
-rw-r--r-- | apps/files_sharing/src/share.js | 35 | ||||
-rw-r--r-- | apps/files_sharing/src/sharebreadcrumbview.js | 4 | ||||
-rw-r--r-- | apps/files_sharing/src/utils/SharedWithMe.js | 8 |
7 files changed, 37 insertions, 50 deletions
diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue index 5a49a1d4976..9fefa9b6f90 100644 --- a/apps/files_sharing/src/components/SharingEntryLink.vue +++ b/apps/files_sharing/src/components/SharingEntryLink.vue @@ -329,6 +329,7 @@ <script> import { generateUrl } from '@nextcloud/router' +import { Type as ShareTypes } from '@nextcloud/sharing' import Vue from 'vue' import ActionButton from '@nextcloud/vue/dist/Components/ActionButton' @@ -662,8 +663,8 @@ export default { externalLinkActions() { // filter only the registered actions for said link return this.ExternalShareActions.actions - .filter(action => action.shareType.includes(OC.Share.SHARE_TYPE_LINK) - || action.shareType.includes(OC.Share.SHARE_TYPE_EMAIL)) + .filter(action => action.shareType.includes(ShareTypes.SHARE_TYPE_LINK) + || action.shareType.includes(ShareTypes.SHARE_TYPE_EMAIL)) }, isPasswordPolicyEnabled() { @@ -682,7 +683,7 @@ export default { } const shareDefaults = { - share_type: OC.Share.SHARE_TYPE_LINK, + share_type: ShareTypes.SHARE_TYPE_LINK, } if (this.config.isDefaultExpireDateEnforced) { // default is empty string if not set @@ -756,7 +757,7 @@ export default { const path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/') const newShare = await this.createShare({ path, - shareType: OC.Share.SHARE_TYPE_LINK, + shareType: ShareTypes.SHARE_TYPE_LINK, password: share.password, expireDate: share.expireDate, // we do not allow setting the publicUpload diff --git a/apps/files_sharing/src/mixins/ShareTypes.js b/apps/files_sharing/src/mixins/ShareTypes.js index c743846cb85..8b85f63f456 100644 --- a/apps/files_sharing/src/mixins/ShareTypes.js +++ b/apps/files_sharing/src/mixins/ShareTypes.js @@ -21,21 +21,12 @@ * */ +import { Type as ShareTypes } from '@nextcloud/sharing' + export default { data() { return { - SHARE_TYPES: { - SHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER, - SHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP, - SHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK, - SHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL, - SHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE, - SHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE, - SHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST, - SHARE_TYPE_DECK: OC.Share.SHARE_TYPE_DECK, - SHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP, - SHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM, - }, + SHARE_TYPES: ShareTypes, } }, } diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js index 73ac60551a2..950b0355175 100644 --- a/apps/files_sharing/src/mixins/SharesMixin.js +++ b/apps/files_sharing/src/mixins/SharesMixin.js @@ -75,18 +75,6 @@ export default { * ! do not remove it ot you'll lose all reactivity here */ reactiveState: this.share?.state, - - SHARE_TYPES: { - SHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER, - SHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP, - SHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK, - SHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL, - SHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE, - SHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE, - SHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST, - SHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP, - SHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM, - }, } }, diff --git a/apps/files_sharing/src/services/ExternalShareActions.js b/apps/files_sharing/src/services/ExternalShareActions.js index 5d64c97ba70..6167346699e 100644 --- a/apps/files_sharing/src/services/ExternalShareActions.js +++ b/apps/files_sharing/src/services/ExternalShareActions.js @@ -50,7 +50,7 @@ export default class ExternalShareActions { * @param {object} action new action component to register * @param {string} action.id unique action id * @param {Function} action.data data to bind the component to - * @param {Array} action.shareType list of OC.Share.SHARE_XXX to be mounted on + * @param {Array} action.shareType list of \@nextcloud/sharing.Types.SHARE_XXX to be mounted on * @param {object} action.handlers list of listeners * @return {boolean} */ @@ -59,7 +59,7 @@ export default class ExternalShareActions { if (typeof action !== 'object' || typeof action.id !== 'string' || typeof action.data !== 'function' // () => {disabled: true} - || !Array.isArray(action.shareType) // [OC.Share.SHARE_TYPE_LINK, ...] + || !Array.isArray(action.shareType) // [\@nextcloud/sharing.Types.SHARE_TYPE_LINK, ...] || typeof action.handlers !== 'object' // {click: () => {}, ...} || !Object.values(action.handlers).every(handler => typeof handler === 'function')) { console.error('Invalid action provided', action) diff --git a/apps/files_sharing/src/share.js b/apps/files_sharing/src/share.js index f377c07c4a5..c533e7b8109 100644 --- a/apps/files_sharing/src/share.js +++ b/apps/files_sharing/src/share.js @@ -35,6 +35,9 @@ /* eslint-disable */ import escapeHTML from 'escape-html' +import { Type as ShareTypes } from '@nextcloud/sharing' +import { getCapabilities } from '@nextcloud/capabilities' + (function() { _.extend(OC.Files.Client, { @@ -70,7 +73,7 @@ import escapeHTML from 'escape-html' */ attach: function(fileList) { // core sharing is disabled/not loaded - if (!OC.Share) { + if (!getCapabilities().files_sharing?.api_enabled) { return } if (fileList.id === 'trashbin' || fileList.id === 'files.public') { @@ -164,30 +167,30 @@ import escapeHTML from 'escape-html' _.each($files, function(file) { var $tr = $(file) - var shareTypes = $tr.attr('data-share-types') || '' + var shareTypesStr = $tr.attr('data-share-types') || '' var shareOwner = $tr.attr('data-share-owner') - if (shareTypes || shareOwner) { + if (shareTypesStr || shareOwner) { var hasLink = false var hasShares = false - _.each(shareTypes.split(',') || [], function(shareType) { - shareType = parseInt(shareType, 10) - if (shareType === OC.Share.SHARE_TYPE_LINK) { + _.each(shareTypesStr.split(',') || [], function(shareTypeStr) { + let shareType = parseInt(shareTypeStr, 10) + if (shareType === ShareTypes.SHARE_TYPE_LINK) { hasLink = true - } else if (shareType === OC.Share.SHARE_TYPE_EMAIL) { + } else if (shareType === ShareTypes.SHARE_TYPE_EMAIL) { hasLink = true - } else if (shareType === OC.Share.SHARE_TYPE_USER) { + } else if (shareType === ShareTypes.SHARE_TYPE_USER) { hasShares = true - } else if (shareType === OC.Share.SHARE_TYPE_GROUP) { + } else if (shareType === ShareTypes.SHARE_TYPE_GROUP) { hasShares = true - } else if (shareType === OC.Share.SHARE_TYPE_REMOTE) { + } else if (shareType === ShareTypes.SHARE_TYPE_REMOTE) { hasShares = true - } else if (shareType === OC.Share.SHARE_TYPE_REMOTE_GROUP) { + } else if (shareType === ShareTypes.SHARE_TYPE_REMOTE_GROUP) { hasShares = true - } else if (shareType === OC.Share.SHARE_TYPE_CIRCLE) { + } else if (shareType === ShareTypes.SHARE_TYPE_CIRCLE) { hasShares = true - } else if (shareType === OC.Share.SHARE_TYPE_ROOM) { + } else if (shareType === ShareTypes.SHARE_TYPE_ROOM) { hasShares = true - } else if (shareType === OC.Share.SHARE_TYPE_DECK) { + } else if (shareType === ShareTypes.SHARE_TYPE_DECK) { hasShares = true } }) @@ -218,8 +221,8 @@ import escapeHTML from 'escape-html' permissions: OC.PERMISSION_ALL, iconClass: function(fileName, context) { var shareType = parseInt(context.$file.data('share-types'), 10) - if (shareType === OC.Share.SHARE_TYPE_EMAIL - || shareType === OC.Share.SHARE_TYPE_LINK) { + if (shareType === ShareTypes.SHARE_TYPE_EMAIL + || shareType === ShareTypes.SHARE_TYPE_LINK) { return 'icon-public' } return 'icon-shared' diff --git a/apps/files_sharing/src/sharebreadcrumbview.js b/apps/files_sharing/src/sharebreadcrumbview.js index 6addbb592ac..ef04c9c029d 100644 --- a/apps/files_sharing/src/sharebreadcrumbview.js +++ b/apps/files_sharing/src/sharebreadcrumbview.js @@ -22,6 +22,8 @@ * */ +import { Type as ShareTypes } from '@nextcloud/sharing' + (function() { 'use strict' @@ -40,7 +42,7 @@ this.$el.removeClass('shared icon-public icon-shared') if (isShared) { this.$el.addClass('shared') - if (data.dirInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_LINK) !== -1) { + if (data.dirInfo.shareTypes.indexOf(ShareTypes.SHARE_TYPE_LINK) !== -1) { this.$el.addClass('icon-public') } else { this.$el.addClass('icon-shared') diff --git a/apps/files_sharing/src/utils/SharedWithMe.js b/apps/files_sharing/src/utils/SharedWithMe.js index 9a063e423cf..bd39c765221 100644 --- a/apps/files_sharing/src/utils/SharedWithMe.js +++ b/apps/files_sharing/src/utils/SharedWithMe.js @@ -21,8 +21,10 @@ * */ +import { Type as ShareTypes } from '@nextcloud/sharing' + const shareWithTitle = function(share) { - if (share.type === OC.Share.SHARE_TYPE_GROUP) { + if (share.type === ShareTypes.SHARE_TYPE_GROUP) { return t( 'files_sharing', 'Shared with you and the group {group} by {owner}', @@ -33,7 +35,7 @@ const shareWithTitle = function(share) { undefined, { escape: false } ) - } else if (share.type === OC.Share.SHARE_TYPE_CIRCLE) { + } else if (share.type === ShareTypes.SHARE_TYPE_CIRCLE) { return t( 'files_sharing', 'Shared with you and {circle} by {owner}', @@ -44,7 +46,7 @@ const shareWithTitle = function(share) { undefined, { escape: false } ) - } else if (share.type === OC.Share.SHARE_TYPE_ROOM) { + } else if (share.type === ShareTypes.SHARE_TYPE_ROOM) { if (share.shareWithDisplayName) { return t( 'files_sharing', |