Compare commits
2 Commits
6b8c922d5b
...
615292ac24
| Author | SHA1 | Date | |
|---|---|---|---|
| 615292ac24 | |||
| 6bcb41820c |
@@ -5,7 +5,7 @@ import { RouteComponentProps } from "react-router-dom"
|
||||
import downloadFile from "../functions/downloadFile"
|
||||
import genDownloadLink from "../functions/genDownloadLink"
|
||||
import uploadFile from "../functions/uploadFile"
|
||||
import { useCopyMutation, useCreateDirMutation, useDeleteDirMutation, useDeleteFileMutation, useMoveMutation, useOpenDirQuery } from "../generated/graphql"
|
||||
import { useCopyMutation, useCreateDirMutation, useDeleteDirMutation, useDeleteFileMutation, useMoveDirMutation, useMoveMutation, useOpenDirQuery } from "../generated/graphql"
|
||||
import Breadcrum from "./Breadcrum"
|
||||
import CreateDirButton from "./CreateDirButton"
|
||||
import GlobalDragAndDrop from "./GlobalDragAndDrop"
|
||||
@@ -32,6 +32,7 @@ const FileBrowser: React.FC<RouteComponentProps> = (props) => {
|
||||
const [moveMutation] = useMoveMutation()
|
||||
const [createDirMutation] = useCreateDirMutation()
|
||||
const [deleteDirMutation] = useDeleteDirMutation()
|
||||
const [moveDirMutation] = useMoveDirMutation()
|
||||
|
||||
const { show: showFileContext } = useContextMenu({
|
||||
id: CONTEXT_MENU_FILE,
|
||||
@@ -66,6 +67,7 @@ const FileBrowser: React.FC<RouteComponentProps> = (props) => {
|
||||
break
|
||||
case Action.FileCopy:
|
||||
case Action.FileMove:
|
||||
case Action.DirMove:
|
||||
setSrcID(id)
|
||||
setPasteAction(action)
|
||||
break
|
||||
@@ -80,6 +82,13 @@ const FileBrowser: React.FC<RouteComponentProps> = (props) => {
|
||||
refetchDir()
|
||||
setSrcID(null)
|
||||
}
|
||||
|
||||
if (pasteAction === Action.DirMove && srcID){
|
||||
await moveDirMutation({variables:{src:srcID,dest:path}})
|
||||
refetchDir()
|
||||
setSrcID(null)
|
||||
}
|
||||
|
||||
break
|
||||
case Action.DirDelete:
|
||||
await deleteDirMutation({variables:{path:id}})
|
||||
|
||||
@@ -12,7 +12,8 @@ export enum Action {
|
||||
FileMove,
|
||||
FileDownload,
|
||||
FileRename,
|
||||
DirDelete
|
||||
DirDelete,
|
||||
DirMove,
|
||||
}
|
||||
|
||||
interface Props {
|
||||
@@ -40,7 +41,7 @@ const FileBrowserContextMenu: React.FC<Props> = (props) => {
|
||||
</Menu>
|
||||
<Menu id={CONTEXT_MENU_DIR} animation={false} className="dark:bg-gray-400">
|
||||
<Item onClick={onClick} data={Action.DirDelete} >Delete</Item>
|
||||
<Item onClick={onClick} >Item 2</Item>
|
||||
<Item onClick={onClick} data={Action.DirMove} >Move</Item>
|
||||
<Separator />
|
||||
<Item onClick={onClick} data={Action.FilePaste} disabled={!props.pasteActive}>Paste</Item>
|
||||
</Menu>
|
||||
|
||||
@@ -62,7 +62,8 @@ export type RootMutation = {
|
||||
delete?: Maybe<Scalars["String"]>;
|
||||
deleteDir: Scalars["String"];
|
||||
login: LoginResut;
|
||||
move?: Maybe<File>;
|
||||
move: File;
|
||||
moveDir: Array<Maybe<File>>;
|
||||
};
|
||||
|
||||
|
||||
@@ -98,6 +99,12 @@ export type RootMutationMoveArgs = {
|
||||
dest: Scalars["objID"];
|
||||
};
|
||||
|
||||
|
||||
export type RootMutationMoveDirArgs = {
|
||||
src: Scalars["objID"];
|
||||
dest: Scalars["objID"];
|
||||
};
|
||||
|
||||
export type RootQuery = {
|
||||
__typename?: "RootQuery";
|
||||
/** True if the user is authorized */
|
||||
@@ -223,10 +230,24 @@ export type MoveMutationVariables = Exact<{
|
||||
|
||||
export type MoveMutation = (
|
||||
{ __typename?: "RootMutation" }
|
||||
& { move?: Maybe<(
|
||||
& { move: (
|
||||
{ __typename?: "File" }
|
||||
& Pick<File, "id">
|
||||
)> }
|
||||
) }
|
||||
);
|
||||
|
||||
export type MoveDirMutationVariables = Exact<{
|
||||
src: Scalars["objID"];
|
||||
dest: Scalars["objID"];
|
||||
}>;
|
||||
|
||||
|
||||
export type MoveDirMutation = (
|
||||
{ __typename?: "RootMutation" }
|
||||
& { moveDir: Array<Maybe<(
|
||||
{ __typename?: "File" }
|
||||
& Pick<File, "id">
|
||||
)>> }
|
||||
);
|
||||
|
||||
export type OpenDirQueryVariables = Exact<{
|
||||
@@ -547,6 +568,40 @@ export function useMoveMutation(baseOptions?: Apollo.MutationHookOptions<MoveMut
|
||||
export type MoveMutationHookResult = ReturnType<typeof useMoveMutation>;
|
||||
export type MoveMutationResult = Apollo.MutationResult<MoveMutation>;
|
||||
export type MoveMutationOptions = Apollo.BaseMutationOptions<MoveMutation, MoveMutationVariables>;
|
||||
export const MoveDirDocument = gql`
|
||||
mutation moveDir($src: objID!, $dest: objID!) {
|
||||
moveDir(src: $src, dest: $dest) {
|
||||
id
|
||||
}
|
||||
}
|
||||
`
|
||||
export type MoveDirMutationFn = Apollo.MutationFunction<MoveDirMutation, MoveDirMutationVariables>;
|
||||
|
||||
/**
|
||||
* __useMoveDirMutation__
|
||||
*
|
||||
* To run a mutation, you first call `useMoveDirMutation` within a React component and pass it any options that fit your needs.
|
||||
* When your component renders, `useMoveDirMutation` returns a tuple that includes:
|
||||
* - A mutate function that you can call at any time to execute the mutation
|
||||
* - An object with fields that represent the current status of the mutation's execution
|
||||
*
|
||||
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
|
||||
*
|
||||
* @example
|
||||
* const [moveDirMutation, { data, loading, error }] = useMoveDirMutation({
|
||||
* variables: {
|
||||
* src: // value for 'src'
|
||||
* dest: // value for 'dest'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useMoveDirMutation(baseOptions?: Apollo.MutationHookOptions<MoveDirMutation, MoveDirMutationVariables>) {
|
||||
const options = {...defaultOptions, ...baseOptions}
|
||||
return Apollo.useMutation<MoveDirMutation, MoveDirMutationVariables>(MoveDirDocument, options)
|
||||
}
|
||||
export type MoveDirMutationHookResult = ReturnType<typeof useMoveDirMutation>;
|
||||
export type MoveDirMutationResult = Apollo.MutationResult<MoveDirMutation>;
|
||||
export type MoveDirMutationOptions = Apollo.BaseMutationOptions<MoveDirMutation, MoveDirMutationVariables>;
|
||||
export const OpenDirDocument = gql`
|
||||
query openDir($path: objID!) {
|
||||
files(path: $path) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
5
src/graphql/moveDir.graphql
Normal file
5
src/graphql/moveDir.graphql
Normal file
@@ -0,0 +1,5 @@
|
||||
mutation moveDir($src: objID!, $dest: objID!) {
|
||||
moveDir(src: $src,dest: $dest){
|
||||
id
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user