Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2022-01-26 17:33:36 +0300
committerLouis Chemineau <louis@chmn.me>2022-01-26 19:58:43 +0300
commitbe968a8841587f6e4034ff32880d1ceca4a827bd (patch)
tree359a57ca4304c25fdb04051519ab9c183686f488 /apps/files_sharing/src
parenta145edd00db95135bee6f584e21301267fb5ac16 (diff)
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.vue9
-rw-r--r--apps/files_sharing/src/mixins/ShareTypes.js15
-rw-r--r--apps/files_sharing/src/mixins/SharesMixin.js12
-rw-r--r--apps/files_sharing/src/services/ExternalShareActions.js4
-rw-r--r--apps/files_sharing/src/share.js35
-rw-r--r--apps/files_sharing/src/sharebreadcrumbview.js4
-rw-r--r--apps/files_sharing/src/utils/SharedWithMe.js8
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',