From 2c9acd5d5d9b99a586ab35d86780cdaf0e94df5e Mon Sep 17 00:00:00 2001 From: John Molakvoæ Date: Fri, 18 Aug 2023 11:10:00 +0200 Subject: feat: migrate FileAction from server MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ --- apps/files/src/actions/deleteAction.spec.ts | 3 +- apps/files/src/actions/deleteAction.ts | 3 +- apps/files/src/actions/downloadAction.spec.ts | 3 +- apps/files/src/actions/downloadAction.ts | 6 +- apps/files/src/actions/editLocallyAction.spec.ts | 3 +- apps/files/src/actions/editLocallyAction.ts | 11 +- apps/files/src/actions/favoriteAction.spec.ts | 3 +- apps/files/src/actions/favoriteAction.ts | 3 +- apps/files/src/actions/openFolderAction.spec.ts | 3 +- apps/files/src/actions/openFolderAction.ts | 6 +- apps/files/src/actions/openInFilesAction.spec.ts | 3 +- apps/files/src/actions/openInFilesAction.ts | 2 +- apps/files/src/actions/renameAction.spec.ts | 3 +- apps/files/src/actions/renameAction.ts | 6 +- apps/files/src/actions/sidebarAction.spec.ts | 3 +- apps/files/src/actions/sidebarAction.ts | 3 +- apps/files/src/actions/viewInFolderAction.spec.ts | 3 +- apps/files/src/actions/viewInFolderAction.ts | 4 +- apps/files/src/components/FileEntry.vue | 3 +- apps/files/src/components/FilesListFooter.vue | 2 +- .../src/components/FilesListHeaderActions.vue | 3 +- .../src/components/FilesListTableHeaderActions.vue | 2 +- apps/files/src/components/NavigationQuota.vue | 4 +- apps/files/src/components/VirtualList.vue | 3 +- apps/files/src/main.ts | 1 - apps/files/src/services/Favorites.ts | 8 +- apps/files/src/services/FileAction.ts | 191 --------------------- apps/files/src/services/Files.ts | 2 +- apps/files/src/services/Recent.ts | 8 +- apps/files/src/views/FilesList.vue | 3 +- apps/files/src/views/favorites.spec.ts | 3 +- apps/files/src/views/favorites.ts | 3 +- 32 files changed, 46 insertions(+), 261 deletions(-) delete mode 100644 apps/files/src/services/FileAction.ts (limited to 'apps/files/src') diff --git a/apps/files/src/actions/deleteAction.spec.ts b/apps/files/src/actions/deleteAction.spec.ts index d7b7cd5307d..cf29d385240 100644 --- a/apps/files/src/actions/deleteAction.spec.ts +++ b/apps/files/src/actions/deleteAction.spec.ts @@ -21,8 +21,7 @@ */ import { action } from './deleteAction' import { expect } from '@jest/globals' -import { File, Folder, Permission, View } from '@nextcloud/files' -import { FileAction } from '../services/FileAction' +import { File, Folder, Permission, View, FileAction } from '@nextcloud/files' import * as eventBus from '@nextcloud/event-bus' import axios from '@nextcloud/axios' import logger from '../logger' diff --git a/apps/files/src/actions/deleteAction.ts b/apps/files/src/actions/deleteAction.ts index 6fd8fc467e3..528a0faecab 100644 --- a/apps/files/src/actions/deleteAction.ts +++ b/apps/files/src/actions/deleteAction.ts @@ -20,12 +20,11 @@ * */ import { emit } from '@nextcloud/event-bus' -import { Permission, Node, View } from '@nextcloud/files' +import { Permission, Node, View, registerFileAction, FileAction } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import axios from '@nextcloud/axios' import TrashCanSvg from '@mdi/svg/svg/trash-can.svg?raw' -import { registerFileAction, FileAction } from '../services/FileAction' import logger from '../logger.js' export const action = new FileAction({ diff --git a/apps/files/src/actions/downloadAction.spec.ts b/apps/files/src/actions/downloadAction.spec.ts index 35a4c0a277a..bc9c87c0718 100644 --- a/apps/files/src/actions/downloadAction.spec.ts +++ b/apps/files/src/actions/downloadAction.spec.ts @@ -21,8 +21,7 @@ */ import { action } from './downloadAction' import { expect } from '@jest/globals' -import { File, Folder, Permission, View } from '@nextcloud/files' -import { FileAction } from '../services/FileAction' +import { File, Folder, Permission, View, FileAction } from '@nextcloud/files' const view = { id: 'files', diff --git a/apps/files/src/actions/downloadAction.ts b/apps/files/src/actions/downloadAction.ts index bf4e05ec8b0..030e0e818ec 100644 --- a/apps/files/src/actions/downloadAction.ts +++ b/apps/files/src/actions/downloadAction.ts @@ -19,13 +19,11 @@ * along with this program. If not, see . * */ -import { Permission, Node, FileType, View } from '@nextcloud/files' +import { generateUrl } from '@nextcloud/router' +import { registerFileAction, FileAction, Permission, Node, FileType, View } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import ArrowDownSvg from '@mdi/svg/svg/arrow-down.svg?raw' -import { registerFileAction, FileAction } from '../services/FileAction' -import { generateUrl } from '@nextcloud/router' - const triggerDownload = function(url: string) { const hiddenElement = document.createElement('a') hiddenElement.download = '' diff --git a/apps/files/src/actions/editLocallyAction.spec.ts b/apps/files/src/actions/editLocallyAction.spec.ts index 3d2c31c468e..e7102b8defb 100644 --- a/apps/files/src/actions/editLocallyAction.spec.ts +++ b/apps/files/src/actions/editLocallyAction.spec.ts @@ -21,8 +21,7 @@ */ import { action } from './editLocallyAction' import { expect } from '@jest/globals' -import { File, Permission, View } from '@nextcloud/files' -import { FileAction } from '../services/FileAction' +import { File, Permission, View, FileAction } from '@nextcloud/files' import * as ncDialogs from '@nextcloud/dialogs' import axios from '@nextcloud/axios' diff --git a/apps/files/src/actions/editLocallyAction.ts b/apps/files/src/actions/editLocallyAction.ts index ce693adc157..c8e6f295544 100644 --- a/apps/files/src/actions/editLocallyAction.ts +++ b/apps/files/src/actions/editLocallyAction.ts @@ -20,15 +20,14 @@ * */ import { encodePath } from '@nextcloud/paths' -import { Permission, type Node } from '@nextcloud/files' -import { translate as t } from '@nextcloud/l10n' -import axios from '@nextcloud/axios' -import LaptopSvg from '@mdi/svg/svg/laptop.svg?raw' - import { generateOcsUrl } from '@nextcloud/router' import { getCurrentUser } from '@nextcloud/auth' -import { registerFileAction, FileAction, DefaultType } from '../services/FileAction' +import { registerFileAction, FileAction, Permission, type Node } from '@nextcloud/files' import { showError } from '@nextcloud/dialogs' +import { translate as t } from '@nextcloud/l10n' +import axios from '@nextcloud/axios' + +import LaptopSvg from '@mdi/svg/svg/laptop.svg?raw' const openLocalClient = async function(path: string) { const link = generateOcsUrl('apps/files/api/v1') + '/openlocaleditor?format=json' diff --git a/apps/files/src/actions/favoriteAction.spec.ts b/apps/files/src/actions/favoriteAction.spec.ts index b24984dfdc2..13d24c57179 100644 --- a/apps/files/src/actions/favoriteAction.spec.ts +++ b/apps/files/src/actions/favoriteAction.spec.ts @@ -21,8 +21,7 @@ */ import { action } from './favoriteAction' import { expect } from '@jest/globals' -import { File, Permission, View } from '@nextcloud/files' -import { FileAction } from '../services/FileAction' +import { File, Permission, View, FileAction } from '@nextcloud/files' import * as eventBus from '@nextcloud/event-bus' import * as favoriteAction from './favoriteAction' import axios from '@nextcloud/axios' diff --git a/apps/files/src/actions/favoriteAction.ts b/apps/files/src/actions/favoriteAction.ts index 7a067bb9407..1309539bad2 100644 --- a/apps/files/src/actions/favoriteAction.ts +++ b/apps/files/src/actions/favoriteAction.ts @@ -21,7 +21,7 @@ */ import { emit } from '@nextcloud/event-bus' import { generateUrl } from '@nextcloud/router' -import { Permission, type Node, View } from '@nextcloud/files' +import { Permission, type Node, View, registerFileAction, FileAction } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import axios from '@nextcloud/axios' import Vue from 'vue' @@ -29,7 +29,6 @@ import Vue from 'vue' import StarOutlineSvg from '@mdi/svg/svg/star-outline.svg?raw' import StarSvg from '@mdi/svg/svg/star.svg?raw' -import { registerFileAction, FileAction } from '../services/FileAction' import logger from '../logger.js' // If any of the nodes is not favorited, we display the favorite action. diff --git a/apps/files/src/actions/openFolderAction.spec.ts b/apps/files/src/actions/openFolderAction.spec.ts index ff72f10b4d7..98497a22fdc 100644 --- a/apps/files/src/actions/openFolderAction.spec.ts +++ b/apps/files/src/actions/openFolderAction.spec.ts @@ -20,10 +20,9 @@ * */ import { expect } from '@jest/globals' -import { File, Folder, Node, Permission, View } from '@nextcloud/files' +import { File, Folder, Node, Permission, View, DefaultType, FileAction } from '@nextcloud/files' import { action } from './openFolderAction' -import { DefaultType, FileAction } from '../services/FileAction' const view = { id: 'files', diff --git a/apps/files/src/actions/openFolderAction.ts b/apps/files/src/actions/openFolderAction.ts index 0d28792f15e..2694667222d 100644 --- a/apps/files/src/actions/openFolderAction.ts +++ b/apps/files/src/actions/openFolderAction.ts @@ -19,13 +19,11 @@ * along with this program. If not, see . * */ -import { Permission, Node, FileType, View } from '@nextcloud/files' +import { join } from 'path' +import { Permission, Node, FileType, View, registerFileAction, FileAction, DefaultType } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import FolderSvg from '@mdi/svg/svg/folder.svg?raw' -import { join } from 'path' -import { registerFileAction, FileAction, DefaultType } from '../services/FileAction' - export const action = new FileAction({ id: 'open-folder', displayName(files: Node[]) { diff --git a/apps/files/src/actions/openInFilesAction.spec.ts b/apps/files/src/actions/openInFilesAction.spec.ts index 2097095c9ef..866880670a3 100644 --- a/apps/files/src/actions/openInFilesAction.spec.ts +++ b/apps/files/src/actions/openInFilesAction.spec.ts @@ -21,8 +21,7 @@ */ import { action } from './openInFilesAction' import { expect } from '@jest/globals' -import { File, Folder, Permission, View } from '@nextcloud/files' -import { DefaultType, FileAction } from '../../../files/src/services/FileAction' +import { File, Folder, Permission, View, DefaultType, FileAction } from '@nextcloud/files' const view = { id: 'files', diff --git a/apps/files/src/actions/openInFilesAction.ts b/apps/files/src/actions/openInFilesAction.ts index 9d3ceaf3b7b..ed3b781548c 100644 --- a/apps/files/src/actions/openInFilesAction.ts +++ b/apps/files/src/actions/openInFilesAction.ts @@ -22,7 +22,7 @@ import { translate as t } from '@nextcloud/l10n' import { FileType, type Node } from '@nextcloud/files' -import { registerFileAction, FileAction, DefaultType } from '../../../files/src/services/FileAction' +import { registerFileAction, FileAction, DefaultType } from '@nextcloud/files' /** * TODO: Move away from a redirect and handle diff --git a/apps/files/src/actions/renameAction.spec.ts b/apps/files/src/actions/renameAction.spec.ts index 8e76bea4b84..7166483f72c 100644 --- a/apps/files/src/actions/renameAction.spec.ts +++ b/apps/files/src/actions/renameAction.spec.ts @@ -21,8 +21,7 @@ */ import { action } from './renameAction' import { expect } from '@jest/globals' -import { File, Permission, View } from '@nextcloud/files' -import { FileAction } from '../services/FileAction' +import { File, Permission, View, FileAction } from '@nextcloud/files' import * as eventBus from '@nextcloud/event-bus' const view = { diff --git a/apps/files/src/actions/renameAction.ts b/apps/files/src/actions/renameAction.ts index 02aaaa6d3b4..001bedfc73a 100644 --- a/apps/files/src/actions/renameAction.ts +++ b/apps/files/src/actions/renameAction.ts @@ -19,13 +19,11 @@ * along with this program. If not, see . * */ -import { Permission, type Node } from '@nextcloud/files' +import { emit } from '@nextcloud/event-bus' +import { Permission, type Node, registerFileAction, FileAction } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import PencilSvg from '@mdi/svg/svg/pencil.svg?raw' -import { emit } from '@nextcloud/event-bus' -import { registerFileAction, FileAction } from '../services/FileAction' - export const ACTION_DETAILS = 'details' export const action = new FileAction({ diff --git a/apps/files/src/actions/sidebarAction.spec.ts b/apps/files/src/actions/sidebarAction.spec.ts index 1fb31959944..6d3105dba09 100644 --- a/apps/files/src/actions/sidebarAction.spec.ts +++ b/apps/files/src/actions/sidebarAction.spec.ts @@ -20,10 +20,9 @@ * */ import { expect } from '@jest/globals' -import { File, Permission, View } from '@nextcloud/files' +import { File, Permission, View, FileAction } from '@nextcloud/files' import { action } from './sidebarAction' -import { FileAction } from '../services/FileAction' import logger from '../logger' const view = { diff --git a/apps/files/src/actions/sidebarAction.ts b/apps/files/src/actions/sidebarAction.ts index 52244d9912a..e9d18dbf719 100644 --- a/apps/files/src/actions/sidebarAction.ts +++ b/apps/files/src/actions/sidebarAction.ts @@ -19,11 +19,10 @@ * along with this program. If not, see . * */ -import { Permission, type Node, View } from '@nextcloud/files' +import { Permission, type Node, View, registerFileAction, FileAction } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import InformationSvg from '@mdi/svg/svg/information-variant.svg?raw' -import { registerFileAction, FileAction } from '../services/FileAction' import logger from '../logger.js' export const ACTION_DETAILS = 'details' diff --git a/apps/files/src/actions/viewInFolderAction.spec.ts b/apps/files/src/actions/viewInFolderAction.spec.ts index c26eb52e400..147fd0c537b 100644 --- a/apps/files/src/actions/viewInFolderAction.spec.ts +++ b/apps/files/src/actions/viewInFolderAction.spec.ts @@ -21,8 +21,7 @@ */ import { action } from './viewInFolderAction' import { expect } from '@jest/globals' -import { File, Folder, Node, Permission, View } from '@nextcloud/files' -import { FileAction } from '../services/FileAction' +import { File, Folder, Node, Permission, View, FileAction } from '@nextcloud/files' const view = { id: 'files', diff --git a/apps/files/src/actions/viewInFolderAction.ts b/apps/files/src/actions/viewInFolderAction.ts index c8abcbb72f1..a5a5896df0c 100644 --- a/apps/files/src/actions/viewInFolderAction.ts +++ b/apps/files/src/actions/viewInFolderAction.ts @@ -19,12 +19,10 @@ * along with this program. If not, see . * */ -import { Node, FileType, Permission, View } from '@nextcloud/files' +import { Node, FileType, Permission, View, registerFileAction, FileAction } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw' -import { registerFileAction, FileAction } from '../services/FileAction' - export const action = new FileAction({ id: 'view-in-folder', displayName() { diff --git a/apps/files/src/components/FileEntry.vue b/apps/files/src/components/FileEntry.vue index 9384a4bf5e6..9471e596f1d 100644 --- a/apps/files/src/components/FileEntry.vue +++ b/apps/files/src/components/FileEntry.vue @@ -170,8 +170,8 @@ import { CancelablePromise } from 'cancelable-promise' import { debounce } from 'debounce' import { emit } from '@nextcloud/event-bus' import { extname } from 'path' -import { formatFileSize, FileType, Permission } from '@nextcloud/files' import { generateUrl } from '@nextcloud/router' +import { getFileActions, DefaultType, FileType, formatFileSize, Permission } from '@nextcloud/files' import { showError, showSuccess } from '@nextcloud/dialogs' import { translate } from '@nextcloud/l10n' import { vOnClickOutside } from '@vueuse/components' @@ -187,7 +187,6 @@ import NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js' import Vue from 'vue' import { ACTION_DETAILS } from '../actions/sidebarAction.ts' -import { getFileActions, DefaultType } from '../services/FileAction.ts' import { hashCode } from '../utils/hashUtils.ts' import { isCachedPreview } from '../services/PreviewService.ts' import { useActionsMenuStore } from '../store/actionsmenu.ts' diff --git a/apps/files/src/components/FilesListFooter.vue b/apps/files/src/components/FilesListFooter.vue index b4a2d7eda30..3a89970a26d 100644 --- a/apps/files/src/components/FilesListFooter.vue +++ b/apps/files/src/components/FilesListFooter.vue @@ -57,9 +57,9 @@