]> source.dussan.org Git - nextcloud-server.git/commitdiff
refactor(files): Replace deprecated `Types` enum for share types
authorFerdinand Thiessen <opensource@fthiessen.de>
Fri, 15 Nov 2024 01:03:06 +0000 (02:03 +0100)
committerFerdinand Thiessen <opensource@fthiessen.de>
Mon, 18 Nov 2024 11:25:56 +0000 (12:25 +0100)
Replace with `ShareType` enum.
Also fix some small Typescript issues in `FilesList.vue`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
apps/files/src/views/FilesList.vue

index 23aab26f839e1c60fc94c372518c53a535383800..56907db3febd1652f156132cba26ffbf00eb29f6 100644 (file)
@@ -17,7 +17,7 @@
                                                type="tertiary"
                                                @click="openSharingSidebar">
                                                <template #icon>
-                                                       <LinkIcon v-if="shareButtonType === Type.SHARE_TYPE_LINK" />
+                                                       <LinkIcon v-if="shareButtonType === ShareType.Link" />
                                                        <AccountPlusIcon v-else :size="20" />
                                                </template>
                                        </NcButton>
 </template>
 
 <script lang="ts">
-import type { ContentsWithRoot, INode } from '@nextcloud/files'
+import type { ContentsWithRoot, Folder, INode } from '@nextcloud/files'
 import type { Upload } from '@nextcloud/upload'
 import type { CancelablePromise } from 'cancelable-promise'
 import type { ComponentPublicInstance } from 'vue'
@@ -150,11 +150,11 @@ import type { UserConfig } from '../types.ts'
 
 import { getCapabilities } from '@nextcloud/capabilities'
 import { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'
-import { Folder, Node, Permission, sortNodes, getFileListActions } from '@nextcloud/files'
+import { Node, Permission, sortNodes, getFileListActions } from '@nextcloud/files'
 import { translate as t } from '@nextcloud/l10n'
 import { join, dirname, normalize } from 'path'
 import { showError, showWarning } from '@nextcloud/dialogs'
-import { Type } from '@nextcloud/sharing'
+import { ShareType } from '@nextcloud/sharing'
 import { UploadPicker, UploadStatus } from '@nextcloud/upload'
 import { loadState } from '@nextcloud/initial-state'
 import { defineComponent } from 'vue'
@@ -261,7 +261,7 @@ export default defineComponent({
                        // non reactive data
                        enableGridView,
                        forbiddenCharacters,
-                       Type,
+                       ShareType,
                }
        },
 
@@ -391,22 +391,22 @@ export default defineComponent({
                                return t('files', 'Share')
                        }
 
-                       if (this.shareButtonType === Type.SHARE_TYPE_LINK) {
+                       if (this.shareButtonType === ShareType.Link) {
                                return t('files', 'Shared by link')
                        }
                        return t('files', 'Shared')
                },
-               shareButtonType(): Type | null {
+               shareButtonType(): ShareType | null {
                        if (!this.shareTypesAttributes) {
                                return null
                        }
 
                        // If all types are links, show the link icon
-                       if (this.shareTypesAttributes.some(type => type === Type.SHARE_TYPE_LINK)) {
-                               return Type.SHARE_TYPE_LINK
+                       if (this.shareTypesAttributes.some(type => type === ShareType.Link)) {
+                               return ShareType.Link
                        }
 
-                       return Type.SHARE_TYPE_USER
+                       return ShareType.User
                },
 
                gridViewButtonLabel() {
@@ -454,7 +454,11 @@ export default defineComponent({
                                        if (action.enabled === undefined) {
                                                return true
                                        }
-                                       return action.enabled(this.currentView, this.dirContents, { folder: this.currentFolder })
+                                       return action.enabled(
+                                               this.currentView!,
+                                               this.dirContents,
+                                               { folder: this.currentFolder! },
+                                       )
                                })
                                .toSorted((a, b) => a.order - b.order)
                        return enabledActions