@burdenoff/microfe-files 2026.510.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/config/index.d.ts +33 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +28 -0
- package/dist/config/index.js.map +1 -0
- package/dist/dev/main.d.ts +1 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/files/FilesRoot.d.ts +31 -0
- package/dist/files/FilesRoot.d.ts.map +1 -0
- package/dist/files/FilesRoot.js +63 -0
- package/dist/files/FilesRoot.js.map +1 -0
- package/dist/files/FilesRoutes.d.ts +12 -0
- package/dist/files/FilesRoutes.d.ts.map +1 -0
- package/dist/files/FilesRoutes.js +45 -0
- package/dist/files/FilesRoutes.js.map +1 -0
- package/dist/files/components/ActionMenu.d.ts +19 -0
- package/dist/files/components/ActionMenu.d.ts.map +1 -0
- package/dist/files/components/ActionMenu.js +73 -0
- package/dist/files/components/ActionMenu.js.map +1 -0
- package/dist/files/components/ConfirmDialog.d.ts +14 -0
- package/dist/files/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/files/components/ConfirmDialog.js +85 -0
- package/dist/files/components/ConfirmDialog.js.map +1 -0
- package/dist/files/components/ContextMenu.d.ts +59 -0
- package/dist/files/components/ContextMenu.d.ts.map +1 -0
- package/dist/files/components/ContextMenu.js +136 -0
- package/dist/files/components/ContextMenu.js.map +1 -0
- package/dist/files/components/CopyDialog.d.ts +12 -0
- package/dist/files/components/CopyDialog.d.ts.map +1 -0
- package/dist/files/components/CopyDialog.js +139 -0
- package/dist/files/components/CopyDialog.js.map +1 -0
- package/dist/files/components/EmptyState.d.ts +8 -0
- package/dist/files/components/EmptyState.d.ts.map +1 -0
- package/dist/files/components/EmptyState.js +66 -0
- package/dist/files/components/EmptyState.js.map +1 -0
- package/dist/files/components/FileBrowser.d.ts +37 -0
- package/dist/files/components/FileBrowser.d.ts.map +1 -0
- package/dist/files/components/FileBrowser.js +421 -0
- package/dist/files/components/FileBrowser.js.map +1 -0
- package/dist/files/components/FileCard.d.ts +30 -0
- package/dist/files/components/FileCard.d.ts.map +1 -0
- package/dist/files/components/FileCard.js +233 -0
- package/dist/files/components/FileCard.js.map +1 -0
- package/dist/files/components/FileInfoPanel.d.ts +9 -0
- package/dist/files/components/FileInfoPanel.d.ts.map +1 -0
- package/dist/files/components/FileInfoPanel.js +224 -0
- package/dist/files/components/FileInfoPanel.js.map +1 -0
- package/dist/files/components/FileListItem.d.ts +46 -0
- package/dist/files/components/FileListItem.d.ts.map +1 -0
- package/dist/files/components/FileListItem.js +235 -0
- package/dist/files/components/FileListItem.js.map +1 -0
- package/dist/files/components/FilePreviewModal.d.ts +17 -0
- package/dist/files/components/FilePreviewModal.d.ts.map +1 -0
- package/dist/files/components/FilePreviewModal.js +175 -0
- package/dist/files/components/FilePreviewModal.js.map +1 -0
- package/dist/files/components/FileVersionPanel.d.ts +9 -0
- package/dist/files/components/FileVersionPanel.d.ts.map +1 -0
- package/dist/files/components/FileVersionPanel.js +227 -0
- package/dist/files/components/FileVersionPanel.js.map +1 -0
- package/dist/files/components/FolderCard.d.ts +34 -0
- package/dist/files/components/FolderCard.d.ts.map +1 -0
- package/dist/files/components/FolderCard.js +225 -0
- package/dist/files/components/FolderCard.js.map +1 -0
- package/dist/files/components/MoveDialog.d.ts +12 -0
- package/dist/files/components/MoveDialog.d.ts.map +1 -0
- package/dist/files/components/MoveDialog.js +123 -0
- package/dist/files/components/MoveDialog.js.map +1 -0
- package/dist/files/components/SearchBar.d.ts +13 -0
- package/dist/files/components/SearchBar.d.ts.map +1 -0
- package/dist/files/components/SearchBar.js +257 -0
- package/dist/files/components/SearchBar.js.map +1 -0
- package/dist/files/components/ShareDialog.d.ts +24 -0
- package/dist/files/components/ShareDialog.d.ts.map +1 -0
- package/dist/files/components/ShareDialog.js +201 -0
- package/dist/files/components/ShareDialog.js.map +1 -0
- package/dist/files/components/TabBar.d.ts +14 -0
- package/dist/files/components/TabBar.d.ts.map +1 -0
- package/dist/files/components/TabBar.js +65 -0
- package/dist/files/components/TabBar.js.map +1 -0
- package/dist/files/components/Toast.d.ts +14 -0
- package/dist/files/components/Toast.d.ts.map +1 -0
- package/dist/files/components/Toast.js +51 -0
- package/dist/files/components/Toast.js.map +1 -0
- package/dist/files/components/UploadQueue.d.ts +21 -0
- package/dist/files/components/UploadQueue.d.ts.map +1 -0
- package/dist/files/components/UploadQueue.js +171 -0
- package/dist/files/components/UploadQueue.js.map +1 -0
- package/dist/files/components/index.d.ts +43 -0
- package/dist/files/components/index.d.ts.map +1 -0
- package/dist/files/components/viewers/AudioPlayer.d.ts +8 -0
- package/dist/files/components/viewers/AudioPlayer.d.ts.map +1 -0
- package/dist/files/components/viewers/AudioPlayer.js +102 -0
- package/dist/files/components/viewers/AudioPlayer.js.map +1 -0
- package/dist/files/components/viewers/CodeViewer.d.ts +16 -0
- package/dist/files/components/viewers/CodeViewer.d.ts.map +1 -0
- package/dist/files/components/viewers/CodeViewer.js +113 -0
- package/dist/files/components/viewers/CodeViewer.js.map +1 -0
- package/dist/files/components/viewers/ImageViewer.d.ts +8 -0
- package/dist/files/components/viewers/ImageViewer.d.ts.map +1 -0
- package/dist/files/components/viewers/ImageViewer.js +138 -0
- package/dist/files/components/viewers/ImageViewer.js.map +1 -0
- package/dist/files/components/viewers/PDFViewer.d.ts +15 -0
- package/dist/files/components/viewers/PDFViewer.d.ts.map +1 -0
- package/dist/files/components/viewers/PDFViewer.js +80 -0
- package/dist/files/components/viewers/PDFViewer.js.map +1 -0
- package/dist/files/components/viewers/TextViewer.d.ts +8 -0
- package/dist/files/components/viewers/TextViewer.d.ts.map +1 -0
- package/dist/files/components/viewers/TextViewer.js +121 -0
- package/dist/files/components/viewers/TextViewer.js.map +1 -0
- package/dist/files/components/viewers/VideoPlayer.d.ts +8 -0
- package/dist/files/components/viewers/VideoPlayer.d.ts.map +1 -0
- package/dist/files/components/viewers/VideoPlayer.js +138 -0
- package/dist/files/components/viewers/VideoPlayer.js.map +1 -0
- package/dist/files/components/viewers/index.d.ts +7 -0
- package/dist/files/components/viewers/index.d.ts.map +1 -0
- package/dist/files/components/viewers/index.js +6 -0
- package/dist/files/graphql-types.d.ts +317 -0
- package/dist/files/graphql-types.d.ts.map +1 -0
- package/dist/files/hooks/useBatchOperations.d.ts +32 -0
- package/dist/files/hooks/useBatchOperations.d.ts.map +1 -0
- package/dist/files/hooks/useBatchOperations.js +18 -0
- package/dist/files/hooks/useBatchOperations.js.map +1 -0
- package/dist/files/hooks/useBinItems.d.ts +11 -0
- package/dist/files/hooks/useBinItems.d.ts.map +1 -0
- package/dist/files/hooks/useBinItems.js +27 -0
- package/dist/files/hooks/useBinItems.js.map +1 -0
- package/dist/files/hooks/useBrowsePage.d.ts +18 -0
- package/dist/files/hooks/useBrowsePage.d.ts.map +1 -0
- package/dist/files/hooks/useBrowsePage.js +34 -0
- package/dist/files/hooks/useBrowsePage.js.map +1 -0
- package/dist/files/hooks/useCopyFile.d.ts +14 -0
- package/dist/files/hooks/useCopyFile.d.ts.map +1 -0
- package/dist/files/hooks/useCopyFile.js +22 -0
- package/dist/files/hooks/useCopyFile.js.map +1 -0
- package/dist/files/hooks/useCreateFolder.d.ts +14 -0
- package/dist/files/hooks/useCreateFolder.d.ts.map +1 -0
- package/dist/files/hooks/useCreateFolder.js +14 -0
- package/dist/files/hooks/useCreateFolder.js.map +1 -0
- package/dist/files/hooks/useCreateFolderShare.d.ts +16 -0
- package/dist/files/hooks/useCreateFolderShare.d.ts.map +1 -0
- package/dist/files/hooks/useCreateFolderShare.js +14 -0
- package/dist/files/hooks/useCreateFolderShare.js.map +1 -0
- package/dist/files/hooks/useCreateShare.d.ts +16 -0
- package/dist/files/hooks/useCreateShare.d.ts.map +1 -0
- package/dist/files/hooks/useCreateShare.js +14 -0
- package/dist/files/hooks/useCreateShare.js.map +1 -0
- package/dist/files/hooks/useDeleteFile.d.ts +9 -0
- package/dist/files/hooks/useDeleteFile.d.ts.map +1 -0
- package/dist/files/hooks/useDeleteFile.js +20 -0
- package/dist/files/hooks/useDeleteFile.js.map +1 -0
- package/dist/files/hooks/useDeleteFolder.d.ts +10 -0
- package/dist/files/hooks/useDeleteFolder.d.ts.map +1 -0
- package/dist/files/hooks/useDeleteFolder.js +24 -0
- package/dist/files/hooks/useDeleteFolder.js.map +1 -0
- package/dist/files/hooks/useDragDrop.d.ts +31 -0
- package/dist/files/hooks/useDragDrop.d.ts.map +1 -0
- package/dist/files/hooks/useDragDrop.js +45 -0
- package/dist/files/hooks/useDragDrop.js.map +1 -0
- package/dist/files/hooks/useFileVersions.d.ts +52 -0
- package/dist/files/hooks/useFileVersions.d.ts.map +1 -0
- package/dist/files/hooks/useFileVersions.js +52 -0
- package/dist/files/hooks/useFileVersions.js.map +1 -0
- package/dist/files/hooks/useFiles.d.ts +18 -0
- package/dist/files/hooks/useFiles.d.ts.map +1 -0
- package/dist/files/hooks/useFolder.d.ts +7 -0
- package/dist/files/hooks/useFolder.d.ts.map +1 -0
- package/dist/files/hooks/useFolderPath.d.ts +2 -0
- package/dist/files/hooks/useFolderPath.d.ts.map +1 -0
- package/dist/files/hooks/useFoldersQuery.d.ts +7 -0
- package/dist/files/hooks/useFoldersQuery.d.ts.map +1 -0
- package/dist/files/hooks/useFoldersQuery.js +13 -0
- package/dist/files/hooks/useFoldersQuery.js.map +1 -0
- package/dist/files/hooks/useKeyboardNavigation.d.ts +17 -0
- package/dist/files/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/dist/files/hooks/useKeyboardNavigation.js +105 -0
- package/dist/files/hooks/useKeyboardNavigation.js.map +1 -0
- package/dist/files/hooks/useMoveFile.d.ts +10 -0
- package/dist/files/hooks/useMoveFile.d.ts.map +1 -0
- package/dist/files/hooks/useMoveFile.js +21 -0
- package/dist/files/hooks/useMoveFile.js.map +1 -0
- package/dist/files/hooks/useMoveFolder.d.ts +10 -0
- package/dist/files/hooks/useMoveFolder.d.ts.map +1 -0
- package/dist/files/hooks/useMoveFolder.js +21 -0
- package/dist/files/hooks/useMoveFolder.js.map +1 -0
- package/dist/files/hooks/usePermanentlyDeleteFile.d.ts +9 -0
- package/dist/files/hooks/usePermanentlyDeleteFile.d.ts.map +1 -0
- package/dist/files/hooks/usePermanentlyDeleteFile.js +18 -0
- package/dist/files/hooks/usePermanentlyDeleteFile.js.map +1 -0
- package/dist/files/hooks/usePermanentlyDeleteFolder.d.ts +9 -0
- package/dist/files/hooks/usePermanentlyDeleteFolder.d.ts.map +1 -0
- package/dist/files/hooks/usePermanentlyDeleteFolder.js +18 -0
- package/dist/files/hooks/usePermanentlyDeleteFolder.js.map +1 -0
- package/dist/files/hooks/useRecentFiles.d.ts +10 -0
- package/dist/files/hooks/useRecentFiles.d.ts.map +1 -0
- package/dist/files/hooks/useRecentFiles.js +24 -0
- package/dist/files/hooks/useRecentFiles.js.map +1 -0
- package/dist/files/hooks/useRenameFile.d.ts +10 -0
- package/dist/files/hooks/useRenameFile.d.ts.map +1 -0
- package/dist/files/hooks/useRenameFile.js +21 -0
- package/dist/files/hooks/useRenameFile.js.map +1 -0
- package/dist/files/hooks/useRenameFolder.d.ts +10 -0
- package/dist/files/hooks/useRenameFolder.d.ts.map +1 -0
- package/dist/files/hooks/useRenameFolder.js +21 -0
- package/dist/files/hooks/useRenameFolder.js.map +1 -0
- package/dist/files/hooks/useRestoreFile.d.ts +9 -0
- package/dist/files/hooks/useRestoreFile.d.ts.map +1 -0
- package/dist/files/hooks/useRestoreFile.js +21 -0
- package/dist/files/hooks/useRestoreFile.js.map +1 -0
- package/dist/files/hooks/useRestoreFolder.d.ts +9 -0
- package/dist/files/hooks/useRestoreFolder.d.ts.map +1 -0
- package/dist/files/hooks/useRestoreFolder.js +21 -0
- package/dist/files/hooks/useRestoreFolder.js.map +1 -0
- package/dist/files/hooks/useSearch.d.ts +15 -0
- package/dist/files/hooks/useSearch.d.ts.map +1 -0
- package/dist/files/hooks/useSearch.js +27 -0
- package/dist/files/hooks/useSearch.js.map +1 -0
- package/dist/files/hooks/useStarredItems.d.ts +10 -0
- package/dist/files/hooks/useStarredItems.d.ts.map +1 -0
- package/dist/files/hooks/useStarredItems.js +18 -0
- package/dist/files/hooks/useStarredItems.js.map +1 -0
- package/dist/files/hooks/useToast.d.ts +11 -0
- package/dist/files/hooks/useToast.d.ts.map +1 -0
- package/dist/files/hooks/useToast.js +28 -0
- package/dist/files/hooks/useToast.js.map +1 -0
- package/dist/files/hooks/useToggleStar.d.ts +10 -0
- package/dist/files/hooks/useToggleStar.d.ts.map +1 -0
- package/dist/files/hooks/useToggleStar.js +26 -0
- package/dist/files/hooks/useToggleStar.js.map +1 -0
- package/dist/files/hooks/useUploadFile.d.ts +25 -0
- package/dist/files/hooks/useUploadFile.d.ts.map +1 -0
- package/dist/files/hooks/useUploadFile.js +74 -0
- package/dist/files/hooks/useUploadFile.js.map +1 -0
- package/dist/files/index.d.ts +29 -0
- package/dist/files/index.d.ts.map +1 -0
- package/dist/files/index.js +3 -0
- package/dist/files/pages/BrowserPage.d.ts +5 -0
- package/dist/files/pages/BrowserPage.d.ts.map +1 -0
- package/dist/files/pages/BrowserPage.js +1014 -0
- package/dist/files/pages/BrowserPage.js.map +1 -0
- package/dist/files/pages/ShareAccessPage.d.ts +2 -0
- package/dist/files/pages/ShareAccessPage.d.ts.map +1 -0
- package/dist/files/pages/ShareAccessPage.js +162 -0
- package/dist/files/pages/ShareAccessPage.js.map +1 -0
- package/dist/files/providers/FilesProvider.d.ts +25 -0
- package/dist/files/providers/FilesProvider.d.ts.map +1 -0
- package/dist/files/providers/FilesProvider.js +18 -0
- package/dist/files/providers/FilesProvider.js.map +1 -0
- package/dist/files/store/filesStore.d.ts +99 -0
- package/dist/files/store/filesStore.d.ts.map +1 -0
- package/dist/files/store/filesStore.js +129 -0
- package/dist/files/store/filesStore.js.map +1 -0
- package/dist/files/types.d.ts +266 -0
- package/dist/files/types.d.ts.map +1 -0
- package/dist/files/utils/events.d.ts +6 -0
- package/dist/files/utils/events.d.ts.map +1 -0
- package/dist/files/utils/events.js +16 -0
- package/dist/files/utils/events.js.map +1 -0
- package/dist/files/utils/i18n.d.ts +5 -0
- package/dist/files/utils/i18n.d.ts.map +1 -0
- package/dist/files/utils/i18n.js +15 -0
- package/dist/files/utils/i18n.js.map +1 -0
- package/dist/files/utils/index.d.ts +74 -0
- package/dist/files/utils/index.d.ts.map +1 -0
- package/dist/files/utils/index.js +50 -0
- package/dist/files/utils/index.js.map +1 -0
- package/dist/files/utils/thumbnail.d.ts +5 -0
- package/dist/files/utils/thumbnail.d.ts.map +1 -0
- package/dist/files/utils/thumbnail.js +39 -0
- package/dist/files/utils/thumbnail.js.map +1 -0
- package/dist/files.d.ts +2 -0
- package/dist/files.js +6 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +21253 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2706 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-operations.js +1085 -0
- package/dist/generated/wspace-operations.js.map +1 -0
- package/dist/generated/wspace-types.d.ts +55214 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/shared/types/index.d.ts +101 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/utils/nativeBridge.d.ts +3 -0
- package/dist/utils/nativeBridge.d.ts.map +1 -0
- package/dist/utils/nativeBridge.js +2 -0
- package/package.json +126 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateShare.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useCreateShare.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,GAAG,cAAc,GAAG,aAAa,CAAC;IAC1D,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc;yBAMI,gBAAgB;;;CAU9C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useCreateShareMutation as e } from "../../generated/wspace-operations.js";
|
|
2
|
+
//#region src/files/hooks/useCreateShare.ts
|
|
3
|
+
var t = () => {
|
|
4
|
+
let [t, { loading: n, error: r }] = e({ refetchQueries: ["GetUserShares"] });
|
|
5
|
+
return {
|
|
6
|
+
mutateAsync: async (e) => (await t({ variables: { input: e } })).data?.createShare,
|
|
7
|
+
isPending: n,
|
|
8
|
+
error: r
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { t as useCreateShare };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=useCreateShare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateShare.js","names":[],"sources":["../../../src/files/hooks/useCreateShare.ts"],"sourcesContent":["import { useCreateShareMutation } from \"../../generated/wspace-operations\";\n\nexport interface CreateShareInput {\n fileId: string;\n shareType: \"PUBLIC_LINK\" | \"EMAIL_INVITE\" | \"GROUP_SHARE\";\n accessLevel: \"VIEW\" | \"COMMENT\" | \"DOWNLOAD\" | \"EDIT\";\n expiresAt?: string;\n password?: string;\n maxDownloads?: number;\n invitedEmail?: string;\n invitedUserIds?: string[];\n}\n\nexport const useCreateShare = () => {\n const [createShareMutation, { loading, error }] = useCreateShareMutation({\n refetchQueries: [\"GetUserShares\"],\n });\n\n return {\n mutateAsync: async (input: CreateShareInput) => {\n const result = await createShareMutation({\n variables: { input },\n });\n\n return result.data?.createShare;\n },\n isPending: loading,\n error,\n };\n};\n"],"mappings":";;AAaA,IAAa,UAAuB;CAClC,IAAM,CAAC,GAAqB,EAAE,YAAS,cAAW,EAAuB,EACvE,gBAAgB,CAAC,gBAAgB,EAClC,CAAC;AAEF,QAAO;EACL,aAAa,OAAO,OACH,MAAM,EAAoB,EACvC,WAAW,EAAE,UAAO,EACrB,CAAC,EAEY,MAAM;EAEtB,WAAW;EACX;EACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface DeleteFileInput {
|
|
2
|
+
id: string;
|
|
3
|
+
}
|
|
4
|
+
export declare const useDeleteFile: () => {
|
|
5
|
+
mutateAsync: ({ id }: DeleteFileInput) => Promise<any>;
|
|
6
|
+
isPending: boolean;
|
|
7
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=useDeleteFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeleteFile.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useDeleteFile.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,aAAa;0BAYM,eAAe;;;CAS9C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useDeleteFileMutation as e } from "../../generated/wspace-operations.js";
|
|
2
|
+
//#region src/files/hooks/useDeleteFile.ts
|
|
3
|
+
var t = () => {
|
|
4
|
+
let [t, { loading: n, error: r }] = e({ refetchQueries: [
|
|
5
|
+
"GetFiles",
|
|
6
|
+
"GetFolders",
|
|
7
|
+
"GetBinFiles",
|
|
8
|
+
"GetRecentFiles",
|
|
9
|
+
"GetStarredFiles"
|
|
10
|
+
] });
|
|
11
|
+
return {
|
|
12
|
+
mutateAsync: async ({ id: e }) => (await t({ variables: { id: e } })).data?.deleteFile,
|
|
13
|
+
isPending: n,
|
|
14
|
+
error: r
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as useDeleteFile };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=useDeleteFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeleteFile.js","names":[],"sources":["../../../src/files/hooks/useDeleteFile.ts"],"sourcesContent":["import { useDeleteFileMutation } from \"../../generated/wspace-operations\";\n\nexport interface DeleteFileInput {\n id: string;\n}\n\nexport const useDeleteFile = () => {\n const [deleteFileMutation, { loading, error }] = useDeleteFileMutation({\n refetchQueries: [\n \"GetFiles\",\n \"GetFolders\",\n \"GetBinFiles\",\n \"GetRecentFiles\",\n \"GetStarredFiles\",\n ],\n });\n\n return {\n mutateAsync: async ({ id }: DeleteFileInput) => {\n const result = await deleteFileMutation({\n variables: { id },\n });\n return result.data?.deleteFile;\n },\n isPending: loading,\n error,\n };\n};\n"],"mappings":";;AAMA,IAAa,UAAsB;CACjC,IAAM,CAAC,GAAoB,EAAE,YAAS,cAAW,EAAsB,EACrE,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACD,EACF,CAAC;AAEF,QAAO;EACL,aAAa,OAAO,EAAE,aACL,MAAM,EAAmB,EACtC,WAAW,EAAE,OAAI,EAClB,CAAC,EACY,MAAM;EAEtB,WAAW;EACX;EACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface DeleteFolderInput {
|
|
2
|
+
id: string;
|
|
3
|
+
recursive?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const useDeleteFolder: () => {
|
|
6
|
+
mutateAsync: ({ id, recursive }: DeleteFolderInput) => Promise<any>;
|
|
7
|
+
isPending: boolean;
|
|
8
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useDeleteFolder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeleteFolder.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useDeleteFolder.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,eAAe;qCAasB,iBAAiB;;;CASlE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useDeleteFolderMutation as e } from "../../generated/wspace-operations.js";
|
|
2
|
+
//#region src/files/hooks/useDeleteFolder.ts
|
|
3
|
+
var t = () => {
|
|
4
|
+
let [t, { loading: n, error: r }] = e({ refetchQueries: [
|
|
5
|
+
"GetFolders",
|
|
6
|
+
"GetFiles",
|
|
7
|
+
"GetBinFolders",
|
|
8
|
+
"GetBinFiles",
|
|
9
|
+
"GetRecentFiles",
|
|
10
|
+
"GetStarredFolders"
|
|
11
|
+
] });
|
|
12
|
+
return {
|
|
13
|
+
mutateAsync: async ({ id: e, recursive: n = !0 }) => (await t({ variables: {
|
|
14
|
+
id: e,
|
|
15
|
+
recursive: n
|
|
16
|
+
} })).data?.deleteFolder,
|
|
17
|
+
isPending: n,
|
|
18
|
+
error: r
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { t as useDeleteFolder };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=useDeleteFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeleteFolder.js","names":[],"sources":["../../../src/files/hooks/useDeleteFolder.ts"],"sourcesContent":["import { useDeleteFolderMutation } from \"../../generated/wspace-operations\";\n\nexport interface DeleteFolderInput {\n id: string;\n recursive?: boolean;\n}\n\nexport const useDeleteFolder = () => {\n const [deleteFolderMutation, { loading, error }] = useDeleteFolderMutation({\n refetchQueries: [\n \"GetFolders\",\n \"GetFiles\",\n \"GetBinFolders\",\n \"GetBinFiles\",\n \"GetRecentFiles\",\n \"GetStarredFolders\",\n ],\n });\n\n return {\n mutateAsync: async ({ id, recursive = true }: DeleteFolderInput) => {\n const result = await deleteFolderMutation({\n variables: { id, recursive },\n });\n return result.data?.deleteFolder;\n },\n isPending: loading,\n error,\n };\n};\n"],"mappings":";;AAOA,IAAa,UAAwB;CACnC,IAAM,CAAC,GAAsB,EAAE,YAAS,cAAW,EAAwB,EACzE,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACA;EACD,EACF,CAAC;AAEF,QAAO;EACL,aAAa,OAAO,EAAE,OAAI,eAAY,UACrB,MAAM,EAAqB,EACxC,WAAW;GAAE;GAAI;GAAW,EAC7B,CAAC,EACY,MAAM;EAEtB,WAAW;EACX;EACD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FileItem, FolderItem } from '../types';
|
|
2
|
+
export type DragOperation = "move" | "copy";
|
|
3
|
+
export interface DragData {
|
|
4
|
+
type: "file" | "folder";
|
|
5
|
+
item: FileItem | FolderItem;
|
|
6
|
+
operation: DragOperation;
|
|
7
|
+
}
|
|
8
|
+
export interface DropData {
|
|
9
|
+
type: "file" | "folder";
|
|
10
|
+
item: FileItem | FolderItem;
|
|
11
|
+
}
|
|
12
|
+
export interface UseDragDropOptions {
|
|
13
|
+
onMoveFile?: (fileId: string, targetFolderId: string) => Promise<void>;
|
|
14
|
+
onMoveFolder?: (folderId: string, targetFolderId: string) => Promise<void>;
|
|
15
|
+
onCopyFile?: (fileId: string, targetFolderId: string) => Promise<void>;
|
|
16
|
+
onCopyFolder?: (folderId: string, targetFolderId: string) => Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export interface UseDragDropReturn {
|
|
19
|
+
draggedItem: DragData | null;
|
|
20
|
+
dropTarget: DropData | null;
|
|
21
|
+
isDragging: boolean;
|
|
22
|
+
isDropTargetActive: boolean;
|
|
23
|
+
startDrag: (data: DragData) => void;
|
|
24
|
+
endDrag: () => void;
|
|
25
|
+
setDropTarget: (data: DropData | null) => void;
|
|
26
|
+
handleDrop: (targetFolderId: string) => Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
export declare const useDragDrop: (options?: UseDragDropOptions) => UseDragDropReturn;
|
|
29
|
+
export declare const getDragOperation: (event: React.DragEvent) => DragOperation;
|
|
30
|
+
export declare const canDropOnFolder: (draggedItem: DragData | null, targetFolder: FolderItem) => boolean;
|
|
31
|
+
//# sourceMappingURL=useDragDrop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useDragDrop.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,WAAW,GACtB,UAAS,kBAAuB,KAC/B,iBAqDF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,CAAC,SAAS,KAAG,aAEzD,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,aAAa,QAAQ,GAAG,IAAI,EAC5B,cAAc,UAAU,KACvB,OAUF,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useCallback as e, useState as t } from "react";
|
|
2
|
+
//#region src/files/hooks/useDragDrop.ts
|
|
3
|
+
var n = (n = {}) => {
|
|
4
|
+
let [r, i] = t(null), [a, o] = t(null), s = r !== null, c = a !== null && r !== null, l = e((e) => {
|
|
5
|
+
i(e);
|
|
6
|
+
}, []), u = e(() => {
|
|
7
|
+
i(null), o(null);
|
|
8
|
+
}, []);
|
|
9
|
+
return {
|
|
10
|
+
draggedItem: r,
|
|
11
|
+
dropTarget: a,
|
|
12
|
+
isDragging: s,
|
|
13
|
+
isDropTargetActive: c,
|
|
14
|
+
startDrag: l,
|
|
15
|
+
endDrag: u,
|
|
16
|
+
setDropTarget: o,
|
|
17
|
+
handleDrop: e(async (e) => {
|
|
18
|
+
if (!r) return;
|
|
19
|
+
let { type: t, item: i, operation: a } = r;
|
|
20
|
+
if (t === "file") {
|
|
21
|
+
let t = i;
|
|
22
|
+
a === "move" && n.onMoveFile ? await n.onMoveFile(t.id, e) : a === "copy" && n.onCopyFile && await n.onCopyFile(t.id, e);
|
|
23
|
+
} else if (t === "folder") {
|
|
24
|
+
let t = i;
|
|
25
|
+
a === "move" && n.onMoveFolder ? await n.onMoveFolder(t.id, e) : a === "copy" && n.onCopyFolder && await n.onCopyFolder(t.id, e);
|
|
26
|
+
}
|
|
27
|
+
u();
|
|
28
|
+
}, [
|
|
29
|
+
r,
|
|
30
|
+
n,
|
|
31
|
+
u
|
|
32
|
+
])
|
|
33
|
+
};
|
|
34
|
+
}, r = (e) => e.ctrlKey || e.metaKey ? "copy" : "move", i = (e, t) => {
|
|
35
|
+
if (!e) return !1;
|
|
36
|
+
if (e.type === "folder") {
|
|
37
|
+
let n = e.item;
|
|
38
|
+
if (n.id === t.id || n.parentFolderId === t.id) return !1;
|
|
39
|
+
}
|
|
40
|
+
return !0;
|
|
41
|
+
};
|
|
42
|
+
//#endregion
|
|
43
|
+
export { i as canDropOnFolder, r as getDragOperation, n as useDragDrop };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=useDragDrop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDragDrop.js","names":[],"sources":["../../../src/files/hooks/useDragDrop.ts"],"sourcesContent":["import { useState, useCallback } from \"react\";\nimport type { FileItem, FolderItem } from \"../types\";\n\nexport type DragOperation = \"move\" | \"copy\";\n\nexport interface DragData {\n type: \"file\" | \"folder\";\n item: FileItem | FolderItem;\n operation: DragOperation;\n}\n\nexport interface DropData {\n type: \"file\" | \"folder\";\n item: FileItem | FolderItem;\n}\n\nexport interface UseDragDropOptions {\n onMoveFile?: (fileId: string, targetFolderId: string) => Promise<void>;\n onMoveFolder?: (folderId: string, targetFolderId: string) => Promise<void>;\n onCopyFile?: (fileId: string, targetFolderId: string) => Promise<void>;\n onCopyFolder?: (folderId: string, targetFolderId: string) => Promise<void>;\n}\n\nexport interface UseDragDropReturn {\n draggedItem: DragData | null;\n dropTarget: DropData | null;\n isDragging: boolean;\n isDropTargetActive: boolean;\n startDrag: (data: DragData) => void;\n endDrag: () => void;\n setDropTarget: (data: DropData | null) => void;\n handleDrop: (targetFolderId: string) => Promise<void>;\n}\n\nexport const useDragDrop = (\n options: UseDragDropOptions = {},\n): UseDragDropReturn => {\n const [draggedItem, setDraggedItem] = useState<DragData | null>(null);\n const [dropTarget, setDropTarget] = useState<DropData | null>(null);\n\n const isDragging = draggedItem !== null;\n const isDropTargetActive = dropTarget !== null && draggedItem !== null;\n\n const startDrag = useCallback((data: DragData) => {\n setDraggedItem(data);\n }, []);\n\n const endDrag = useCallback(() => {\n setDraggedItem(null);\n setDropTarget(null);\n }, []);\n\n const handleDrop = useCallback(\n async (targetFolderId: string) => {\n if (!draggedItem) return;\n\n const { type, item, operation } = draggedItem;\n\n if (type === \"file\") {\n const file = item as FileItem;\n if (operation === \"move\" && options.onMoveFile) {\n await options.onMoveFile(file.id, targetFolderId);\n } else if (operation === \"copy\" && options.onCopyFile) {\n await options.onCopyFile(file.id, targetFolderId);\n }\n } else if (type === \"folder\") {\n const folder = item as FolderItem;\n if (operation === \"move\" && options.onMoveFolder) {\n await options.onMoveFolder(folder.id, targetFolderId);\n } else if (operation === \"copy\" && options.onCopyFolder) {\n await options.onCopyFolder(folder.id, targetFolderId);\n }\n }\n\n endDrag();\n },\n [draggedItem, options, endDrag],\n );\n\n return {\n draggedItem,\n dropTarget,\n isDragging,\n isDropTargetActive,\n startDrag,\n endDrag,\n setDropTarget,\n handleDrop,\n };\n};\n\nexport const getDragOperation = (event: React.DragEvent): DragOperation => {\n return event.ctrlKey || event.metaKey ? \"copy\" : \"move\";\n};\n\nexport const canDropOnFolder = (\n draggedItem: DragData | null,\n targetFolder: FolderItem,\n): boolean => {\n if (!draggedItem) return false;\n\n if (draggedItem.type === \"folder\") {\n const draggedFolder = draggedItem.item as FolderItem;\n if (draggedFolder.id === targetFolder.id) return false;\n if (draggedFolder.parentFolderId === targetFolder.id) return false;\n }\n\n return true;\n};\n"],"mappings":";;AAkCA,IAAa,KACX,IAA8B,EAAE,KACV;CACtB,IAAM,CAAC,GAAa,KAAkB,EAA0B,KAAK,EAC/D,CAAC,GAAY,KAAiB,EAA0B,KAAK,EAE7D,IAAa,MAAgB,MAC7B,IAAqB,MAAe,QAAQ,MAAgB,MAE5D,IAAY,GAAa,MAAmB;AAChD,IAAe,EAAK;IACnB,EAAE,CAAC,EAEA,IAAU,QAAkB;AAEhC,EADA,EAAe,KAAK,EACpB,EAAc,KAAK;IAClB,EAAE,CAAC;AA6BN,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAnCiB,EACjB,OAAO,MAA2B;AAChC,OAAI,CAAC,EAAa;GAElB,IAAM,EAAE,SAAM,SAAM,iBAAc;AAElC,OAAI,MAAS,QAAQ;IACnB,IAAM,IAAO;AACb,IAAI,MAAc,UAAU,EAAQ,aAClC,MAAM,EAAQ,WAAW,EAAK,IAAI,EAAe,GACxC,MAAc,UAAU,EAAQ,cACzC,MAAM,EAAQ,WAAW,EAAK,IAAI,EAAe;cAE1C,MAAS,UAAU;IAC5B,IAAM,IAAS;AACf,IAAI,MAAc,UAAU,EAAQ,eAClC,MAAM,EAAQ,aAAa,EAAO,IAAI,EAAe,GAC5C,MAAc,UAAU,EAAQ,gBACzC,MAAM,EAAQ,aAAa,EAAO,IAAI,EAAe;;AAIzD,MAAS;KAEX;GAAC;GAAa;GAAS;GAAQ,CAChC;EAWA;GAGU,KAAoB,MACxB,EAAM,WAAW,EAAM,UAAU,SAAS,QAGtC,KACX,GACA,MACY;AACZ,KAAI,CAAC,EAAa,QAAO;AAEzB,KAAI,EAAY,SAAS,UAAU;EACjC,IAAM,IAAgB,EAAY;AAElC,MADI,EAAc,OAAO,EAAa,MAClC,EAAc,mBAAmB,EAAa,GAAI,QAAO;;AAG/D,QAAO"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to fetch all versions for a file
|
|
3
|
+
*/
|
|
4
|
+
export declare const useFileVersions: (_fileId: string, _enabled?: boolean) => {
|
|
5
|
+
data: any;
|
|
6
|
+
isLoading: boolean;
|
|
7
|
+
error: Error | null;
|
|
8
|
+
refetch: (variables?: any) => Promise<import("@apollo/client").ApolloClient.QueryResult<Types.GetFileVersionsQuery>>;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Hook to create a new file version
|
|
12
|
+
*/
|
|
13
|
+
export declare const useCreateFileVersion: () => {
|
|
14
|
+
mutateAsync: (input: {
|
|
15
|
+
fileId: string;
|
|
16
|
+
versionLabel?: string;
|
|
17
|
+
changeMessage?: string;
|
|
18
|
+
isMajorVersion?: boolean;
|
|
19
|
+
}) => Promise<any>;
|
|
20
|
+
isPending: boolean;
|
|
21
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Hook to restore a previous version
|
|
25
|
+
*/
|
|
26
|
+
export declare const useRestoreFileVersion: () => {
|
|
27
|
+
mutateAsync: (input: {
|
|
28
|
+
versionId: string;
|
|
29
|
+
createNewVersion?: boolean;
|
|
30
|
+
changeMessage?: string;
|
|
31
|
+
}) => Promise<any>;
|
|
32
|
+
isPending: boolean;
|
|
33
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Hook to delete a specific version
|
|
37
|
+
*/
|
|
38
|
+
export declare const useDeleteFileVersion: () => {
|
|
39
|
+
mutateAsync: (versionId: string) => Promise<any>;
|
|
40
|
+
isPending: boolean;
|
|
41
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Hook to get download URL for a specific version
|
|
45
|
+
*/
|
|
46
|
+
export declare const useVersionDownloadUrl: (_versionId?: string, _expiresIn?: number) => {
|
|
47
|
+
data: any;
|
|
48
|
+
isLoading: boolean;
|
|
49
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
50
|
+
getDownloadUrl: (versionId?: string | undefined, expiresIn?: number | undefined) => Promise<any>;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=useFileVersions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileVersions.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useFileVersions.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,WAAU,OAAc;;;;;CAexE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;yBAOF;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;;;CAUJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;yBAOH;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;;;CAgBJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB;6BAOE,MAAM;;;CAUxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,aAAa,MAAM;;;;;CAqBpB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { useDeleteFileVersionMutation as e, useGetFileVersionDownloadUrlLazyQuery as t, useGetFileVersionsQuery as n, useRestoreFileVersionMutation as r } from "../../generated/wspace-operations.js";
|
|
2
|
+
//#region src/files/hooks/useFileVersions.ts
|
|
3
|
+
var i = (e, t = !0) => {
|
|
4
|
+
let r = n({
|
|
5
|
+
variables: {
|
|
6
|
+
fileId: e,
|
|
7
|
+
pagination: { limit: 50 }
|
|
8
|
+
},
|
|
9
|
+
skip: !t || !e
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
data: r.data?.getFileVersions ?? null,
|
|
13
|
+
isLoading: r.loading,
|
|
14
|
+
error: r.error ?? null,
|
|
15
|
+
refetch: r.refetch
|
|
16
|
+
};
|
|
17
|
+
}, a = () => {
|
|
18
|
+
let [e, { loading: t, error: n }] = r({ refetchQueries: ["GetFileVersions"] });
|
|
19
|
+
return {
|
|
20
|
+
mutateAsync: async (t) => (await e({ variables: { input: {
|
|
21
|
+
versionId: t.versionId,
|
|
22
|
+
createNewVersion: t.createNewVersion,
|
|
23
|
+
changeMessage: t.changeMessage
|
|
24
|
+
} } })).data?.restoreFileVersion,
|
|
25
|
+
isPending: t,
|
|
26
|
+
error: n
|
|
27
|
+
};
|
|
28
|
+
}, o = () => {
|
|
29
|
+
let [t, { loading: n, error: r }] = e({ refetchQueries: ["GetFileVersions"] });
|
|
30
|
+
return {
|
|
31
|
+
mutateAsync: async (e) => (await t({ variables: { versionId: e } })).data?.deleteFileVersion,
|
|
32
|
+
isPending: n,
|
|
33
|
+
error: r
|
|
34
|
+
};
|
|
35
|
+
}, s = (e, n) => {
|
|
36
|
+
let [r, { data: i, loading: a, error: o }] = t();
|
|
37
|
+
return {
|
|
38
|
+
data: i?.getFileVersionDownloadUrl,
|
|
39
|
+
isLoading: a,
|
|
40
|
+
error: o,
|
|
41
|
+
getDownloadUrl: async (t = e, i = n) => {
|
|
42
|
+
if (t) return (await r({ variables: {
|
|
43
|
+
versionId: t,
|
|
44
|
+
expiresIn: i
|
|
45
|
+
} })).data?.getFileVersionDownloadUrl;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
//#endregion
|
|
50
|
+
export { o as useDeleteFileVersion, i as useFileVersions, a as useRestoreFileVersion, s as useVersionDownloadUrl };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=useFileVersions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileVersions.js","names":[],"sources":["../../../src/files/hooks/useFileVersions.ts"],"sourcesContent":["import {\n useCreateFileVersionMutation,\n useDeleteFileVersionMutation,\n useGetFileVersionDownloadUrlLazyQuery,\n useGetFileVersionsQuery,\n useRestoreFileVersionMutation,\n} from \"../../generated/wspace-operations\";\n\n/**\n * Hook to fetch all versions for a file\n */\nexport const useFileVersions = (_fileId: string, _enabled: boolean = true) => {\n const query = useGetFileVersionsQuery({\n variables: {\n fileId: _fileId,\n pagination: { limit: 50 },\n },\n skip: !_enabled || !_fileId,\n });\n\n return {\n data: query.data?.getFileVersions ?? null,\n isLoading: query.loading,\n error: (query.error as Error | null) ?? null,\n refetch: query.refetch,\n };\n};\n\n/**\n * Hook to create a new file version\n */\nexport const useCreateFileVersion = () => {\n const [createFileVersionMutation, { loading, error }] =\n useCreateFileVersionMutation({\n refetchQueries: [\"GetFileVersions\"],\n });\n\n return {\n mutateAsync: async (input: {\n fileId: string;\n versionLabel?: string;\n changeMessage?: string;\n isMajorVersion?: boolean;\n }) => {\n const result = await createFileVersionMutation({\n variables: { input },\n });\n\n return result.data?.createFileVersion;\n },\n isPending: loading,\n error,\n };\n};\n\n/**\n * Hook to restore a previous version\n */\nexport const useRestoreFileVersion = () => {\n const [restoreFileVersionMutation, { loading, error }] =\n useRestoreFileVersionMutation({\n refetchQueries: [\"GetFileVersions\"],\n });\n\n return {\n mutateAsync: async (input: {\n versionId: string;\n createNewVersion?: boolean;\n changeMessage?: string;\n }) => {\n const result = await restoreFileVersionMutation({\n variables: {\n input: {\n versionId: input.versionId,\n createNewVersion: input.createNewVersion,\n changeMessage: input.changeMessage,\n },\n },\n });\n\n return result.data?.restoreFileVersion;\n },\n isPending: loading,\n error,\n };\n};\n\n/**\n * Hook to delete a specific version\n */\nexport const useDeleteFileVersion = () => {\n const [deleteFileVersionMutation, { loading, error }] =\n useDeleteFileVersionMutation({\n refetchQueries: [\"GetFileVersions\"],\n });\n\n return {\n mutateAsync: async (versionId: string) => {\n const result = await deleteFileVersionMutation({\n variables: { versionId },\n });\n\n return result.data?.deleteFileVersion;\n },\n isPending: loading,\n error,\n };\n};\n\n/**\n * Hook to get download URL for a specific version\n */\nexport const useVersionDownloadUrl = (\n _versionId?: string,\n _expiresIn?: number,\n) => {\n const [getDownloadUrl, { data, loading, error }] =\n useGetFileVersionDownloadUrlLazyQuery();\n\n return {\n data: data?.getFileVersionDownloadUrl,\n isLoading: loading,\n error,\n getDownloadUrl: async (versionId = _versionId, expiresIn = _expiresIn) => {\n if (!versionId) {\n return undefined;\n }\n\n const result = await getDownloadUrl({\n variables: { versionId, expiresIn },\n });\n\n return result.data?.getFileVersionDownloadUrl;\n },\n };\n};\n"],"mappings":";;AAWA,IAAa,KAAmB,GAAiB,IAAoB,OAAS;CAC5E,IAAM,IAAQ,EAAwB;EACpC,WAAW;GACT,QAAQ;GACR,YAAY,EAAE,OAAO,IAAI;GAC1B;EACD,MAAM,CAAC,KAAY,CAAC;EACrB,CAAC;AAEF,QAAO;EACL,MAAM,EAAM,MAAM,mBAAmB;EACrC,WAAW,EAAM;EACjB,OAAQ,EAAM,SAA0B;EACxC,SAAS,EAAM;EAChB;GAiCU,UAA8B;CACzC,IAAM,CAAC,GAA4B,EAAE,YAAS,cAC5C,EAA8B,EAC5B,gBAAgB,CAAC,kBAAkB,EACpC,CAAC;AAEJ,QAAO;EACL,aAAa,OAAO,OAKH,MAAM,EAA2B,EAC9C,WAAW,EACT,OAAO;GACL,WAAW,EAAM;GACjB,kBAAkB,EAAM;GACxB,eAAe,EAAM;GACtB,EACF,EACF,CAAC,EAEY,MAAM;EAEtB,WAAW;EACX;EACD;GAMU,UAA6B;CACxC,IAAM,CAAC,GAA2B,EAAE,YAAS,cAC3C,EAA6B,EAC3B,gBAAgB,CAAC,kBAAkB,EACpC,CAAC;AAEJ,QAAO;EACL,aAAa,OAAO,OACH,MAAM,EAA0B,EAC7C,WAAW,EAAE,cAAW,EACzB,CAAC,EAEY,MAAM;EAEtB,WAAW;EACX;EACD;GAMU,KACX,GACA,MACG;CACH,IAAM,CAAC,GAAgB,EAAE,SAAM,YAAS,cACtC,GAAuC;AAEzC,QAAO;EACL,MAAM,GAAM;EACZ,WAAW;EACX;EACA,gBAAgB,OAAO,IAAY,GAAY,IAAY,MAAe;AACnE,SAQL,SAJe,MAAM,EAAe,EAClC,WAAW;IAAE;IAAW;IAAW,EACpC,CAAC,EAEY,MAAM;;EAEvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FileFilterInput, FileSortInput, PaginationInput } from '../graphql-types';
|
|
2
|
+
/**
|
|
3
|
+
* Fetch a single file by ID
|
|
4
|
+
*/
|
|
5
|
+
export declare const useFile: (fileId: string, options?: {
|
|
6
|
+
skip?: boolean;
|
|
7
|
+
}) => import("@apollo/client/react").useQuery.Result<Types.GetFileQuery, Types.GetFileQueryVariables, "empty" | "complete" | "streaming", Types.GetFileQueryVariables>;
|
|
8
|
+
/**
|
|
9
|
+
* Fetch files in a workspace with filtering, sorting, and pagination
|
|
10
|
+
*/
|
|
11
|
+
export declare const useFiles: (params: {
|
|
12
|
+
folderId?: string;
|
|
13
|
+
filter?: FileFilterInput;
|
|
14
|
+
sort?: FileSortInput;
|
|
15
|
+
pagination?: PaginationInput;
|
|
16
|
+
skip?: boolean;
|
|
17
|
+
}) => import("@apollo/client/react").useQuery.Result<Types.GetFilesQuery, Types.GetFilesQueryVariables, "empty" | "complete" | "streaming", Types.GetFilesQueryVariables>;
|
|
18
|
+
//# sourceMappingURL=useFiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFiles.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useFiles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,UAAU;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,qKAKnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,wKAUA,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folder Hook
|
|
3
|
+
*
|
|
4
|
+
* Uses useGetFolderQuery to fetch a single folder by ID.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useFolder: (folderId?: string) => import("@apollo/client/react").useQuery.Result<Types.GetFolderQuery, Types.GetFolderQueryVariables, "empty" | "complete" | "streaming", Types.GetFolderQueryVariables>;
|
|
7
|
+
//# sourceMappingURL=useFolder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFolder.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useFolder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,SAAS,GAAI,WAAW,MAAM,2KAK1C,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const useFolderPath: (folderId?: string) => import("@apollo/client/react").useQuery.Result<Types.GetFolderPathQuery, Types.GetFolderPathQueryVariables, "empty" | "complete" | "streaming", Types.GetFolderPathQueryVariables>;
|
|
2
|
+
//# sourceMappingURL=useFolderPath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFolderPath.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useFolderPath.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,uLAK9C,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folders Query Hook
|
|
3
|
+
*/
|
|
4
|
+
export declare const useFoldersQuery: (parentFolderId?: string | null, options?: {
|
|
5
|
+
skip?: boolean;
|
|
6
|
+
}) => import("@apollo/client/react").useQuery.Result<Types.GetFoldersQuery, Types.GetFoldersQueryVariables, "empty" | "complete" | "streaming", Types.GetFoldersQueryVariables>;
|
|
7
|
+
//# sourceMappingURL=useFoldersQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFoldersQuery.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useFoldersQuery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,eAAe,GAC1B,iBAAiB,MAAM,GAAG,IAAI,EAC9B,UAAU;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,8KAc7B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useGetFoldersQuery as e } from "../../generated/wspace-operations.js";
|
|
2
|
+
//#region src/files/hooks/useFoldersQuery.ts
|
|
3
|
+
var t = (t, n) => e({
|
|
4
|
+
variables: {
|
|
5
|
+
filter: t === void 0 ? { parentFolderId: null } : { parentFolderId: t },
|
|
6
|
+
pagination: n?.skip ? void 0 : { limit: 100 }
|
|
7
|
+
},
|
|
8
|
+
skip: n?.skip
|
|
9
|
+
});
|
|
10
|
+
//#endregion
|
|
11
|
+
export { t as useFoldersQuery };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=useFoldersQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFoldersQuery.js","names":[],"sources":["../../../src/files/hooks/useFoldersQuery.ts"],"sourcesContent":["/**\n * Folders Query Hook\n */\n\nimport { useGetFoldersQuery } from \"../../generated/wspace-operations\";\nimport type { PaginationInput } from \"../graphql-types\";\n\nexport const useFoldersQuery = (\n parentFolderId?: string | null,\n options?: { skip?: boolean },\n) => {\n return useGetFoldersQuery({\n variables: {\n // At root level (no parentFolderId), show only root folders (parentFolderId: null)\n // When inside a folder, show subfolders of that folder\n filter:\n parentFolderId === undefined\n ? { parentFolderId: null } // Root level - show folders with no parent\n : { parentFolderId }, // Subfolder level - show children of parentFolderId\n pagination: options?.skip ? undefined : { limit: 100 },\n },\n skip: options?.skip,\n });\n};\n"],"mappings":";;AAOA,IAAa,KACX,GACA,MAEO,EAAmB;CACxB,WAAW;EAGT,QACE,MAAmB,KAAA,IACf,EAAE,gBAAgB,MAAM,GACxB,EAAE,mBAAgB;EACxB,YAAY,GAAS,OAAO,KAAA,IAAY,EAAE,OAAO,KAAK;EACvD;CACD,MAAM,GAAS;CAChB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FileItem, FolderItem } from '../types';
|
|
2
|
+
interface UseKeyboardNavigationOptions {
|
|
3
|
+
files: FileItem[];
|
|
4
|
+
folders: FolderItem[];
|
|
5
|
+
onFilePreview?: (file: FileItem) => void;
|
|
6
|
+
onFileDelete?: (file: FileItem) => void;
|
|
7
|
+
onFolderOpen?: (folder: FolderItem) => void;
|
|
8
|
+
onFolderDelete?: (folder: FolderItem) => void;
|
|
9
|
+
activeTab: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function useKeyboardNavigation({ files, folders, onFilePreview, onFileDelete, onFolderOpen, onFolderDelete, activeTab, }: UseKeyboardNavigationOptions): {
|
|
12
|
+
focusedIndex: number;
|
|
13
|
+
setFocusedIndex: (index: number) => void;
|
|
14
|
+
getFocusedItem: () => FileItem | FolderItem | null;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=useKeyboardNavigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useKeyboardNavigation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGrD,UAAU,4BAA4B;IACpC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,GACV,EAAE,4BAA4B;;6BAkBnB,MAAM;;EA4KjB"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { useFilesStore as e } from "../store/filesStore.js";
|
|
2
|
+
import { useCallback as t, useEffect as n, useRef as r } from "react";
|
|
3
|
+
//#region src/files/hooks/useKeyboardNavigation.ts
|
|
4
|
+
function i({ files: i, folders: a, onFilePreview: o, onFileDelete: s, onFolderOpen: c, onFolderDelete: l, activeTab: u }) {
|
|
5
|
+
let d = r(-1), { selectedFiles: f, selectedFolders: p, clearSelection: m, selectFile: h, selectFolder: g, toggleFileSelection: _, toggleFolderSelection: v, selectAllFiles: y, selectAllFolders: b } = e(), x = [...a, ...i], S = x.length, C = t((e) => {
|
|
6
|
+
d.current = Math.max(-1, Math.min(e, S - 1));
|
|
7
|
+
}, [S]), w = t(() => d.current >= 0 && d.current < S ? x[d.current] : null, [x, S]), T = t((e) => e < a.length, [a.length]), E = t((e) => e >= a.length, [a.length]), D = t(() => {
|
|
8
|
+
let e = d.current;
|
|
9
|
+
return E(e) ? i[e - a.length] ?? null : null;
|
|
10
|
+
}, [
|
|
11
|
+
i,
|
|
12
|
+
a.length,
|
|
13
|
+
E
|
|
14
|
+
]), O = t(() => {
|
|
15
|
+
let e = d.current;
|
|
16
|
+
return T(e) ? a[e] ?? null : null;
|
|
17
|
+
}, [a, T]), k = t((e) => {
|
|
18
|
+
let t = e.target;
|
|
19
|
+
if (t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.isContentEditable) return;
|
|
20
|
+
let n = u === "bin";
|
|
21
|
+
switch (e.key) {
|
|
22
|
+
case "ArrowDown":
|
|
23
|
+
e.preventDefault(), C(d.current + 1);
|
|
24
|
+
break;
|
|
25
|
+
case "ArrowUp":
|
|
26
|
+
e.preventDefault(), C(d.current - 1);
|
|
27
|
+
break;
|
|
28
|
+
case "ArrowRight":
|
|
29
|
+
e.preventDefault(), C(d.current + 1);
|
|
30
|
+
break;
|
|
31
|
+
case "ArrowLeft":
|
|
32
|
+
e.preventDefault(), C(d.current - 1);
|
|
33
|
+
break;
|
|
34
|
+
case "Enter": {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
let t = O();
|
|
37
|
+
if (t) c?.(t);
|
|
38
|
+
else {
|
|
39
|
+
let e = D();
|
|
40
|
+
e && o?.(e);
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case " ": {
|
|
45
|
+
e.preventDefault();
|
|
46
|
+
let t = O();
|
|
47
|
+
if (t) v(t.id);
|
|
48
|
+
else {
|
|
49
|
+
let e = D();
|
|
50
|
+
e && _(e.id);
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
case "Delete":
|
|
55
|
+
case "Backspace": {
|
|
56
|
+
if (e.preventDefault(), n) return;
|
|
57
|
+
let t = O();
|
|
58
|
+
if (t) l?.(t);
|
|
59
|
+
else {
|
|
60
|
+
let e = D();
|
|
61
|
+
e && s?.(e);
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
case "Escape":
|
|
66
|
+
e.preventDefault(), m(), C(-1);
|
|
67
|
+
break;
|
|
68
|
+
case "a":
|
|
69
|
+
case "A":
|
|
70
|
+
if (e.ctrlKey || e.metaKey) {
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
let t = i.map((e) => e.id), n = a.map((e) => e.id);
|
|
73
|
+
y(t), b(n);
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}, [
|
|
78
|
+
u,
|
|
79
|
+
m,
|
|
80
|
+
i,
|
|
81
|
+
a,
|
|
82
|
+
D,
|
|
83
|
+
O,
|
|
84
|
+
s,
|
|
85
|
+
o,
|
|
86
|
+
l,
|
|
87
|
+
c,
|
|
88
|
+
y,
|
|
89
|
+
b,
|
|
90
|
+
C,
|
|
91
|
+
_,
|
|
92
|
+
v
|
|
93
|
+
]);
|
|
94
|
+
return n(() => (document.addEventListener("keydown", k), () => {
|
|
95
|
+
document.removeEventListener("keydown", k);
|
|
96
|
+
}), [k]), {
|
|
97
|
+
focusedIndex: d.current,
|
|
98
|
+
setFocusedIndex: C,
|
|
99
|
+
getFocusedItem: w
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { i as useKeyboardNavigation };
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=useKeyboardNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.js","names":[],"sources":["../../../src/files/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\nimport type { FileItem, FolderItem } from \"../types\";\nimport { useFilesStore } from \"../store/filesStore\";\n\ninterface UseKeyboardNavigationOptions {\n files: FileItem[];\n folders: FolderItem[];\n onFilePreview?: (file: FileItem) => void;\n onFileDelete?: (file: FileItem) => void;\n onFolderOpen?: (folder: FolderItem) => void;\n onFolderDelete?: (folder: FolderItem) => void;\n activeTab: string;\n}\n\nexport function useKeyboardNavigation({\n files,\n folders,\n onFilePreview,\n onFileDelete,\n onFolderOpen,\n onFolderDelete,\n activeTab,\n}: UseKeyboardNavigationOptions) {\n const focusedIndexRef = useRef<number>(-1);\n const {\n selectedFiles,\n selectedFolders,\n clearSelection,\n selectFile,\n selectFolder,\n toggleFileSelection,\n toggleFolderSelection,\n selectAllFiles,\n selectAllFolders,\n } = useFilesStore();\n\n const allItems = [...folders, ...files];\n const totalItems = allItems.length;\n\n const setFocusedIndex = useCallback(\n (index: number) => {\n const clampedIndex = Math.max(-1, Math.min(index, totalItems - 1));\n focusedIndexRef.current = clampedIndex;\n },\n [totalItems],\n );\n\n const getFocusedItem = useCallback(() => {\n if (focusedIndexRef.current >= 0 && focusedIndexRef.current < totalItems) {\n return allItems[focusedIndexRef.current];\n }\n return null;\n }, [allItems, totalItems]);\n\n const isFocusedFolder = useCallback(\n (index: number): boolean => {\n return index < folders.length;\n },\n [folders.length],\n );\n\n const isFocusedFile = useCallback(\n (index: number): boolean => {\n return index >= folders.length;\n },\n [folders.length],\n );\n\n const getFocusedFile = useCallback((): FileItem | null => {\n const idx = focusedIndexRef.current;\n if (isFocusedFile(idx)) {\n return files[idx - folders.length] ?? null;\n }\n return null;\n }, [files, folders.length, isFocusedFile]);\n\n const getFocusedFolder = useCallback((): FolderItem | null => {\n const idx = focusedIndexRef.current;\n if (isFocusedFolder(idx)) {\n return folders[idx] ?? null;\n }\n return null;\n }, [folders, isFocusedFolder]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n const isInputFocused =\n target.tagName === \"INPUT\" ||\n target.tagName === \"TEXTAREA\" ||\n target.isContentEditable;\n\n if (isInputFocused) {\n return;\n }\n\n const isBinTab = activeTab === \"bin\";\n\n switch (event.key) {\n case \"ArrowDown\": {\n event.preventDefault();\n setFocusedIndex(focusedIndexRef.current + 1);\n break;\n }\n case \"ArrowUp\": {\n event.preventDefault();\n setFocusedIndex(focusedIndexRef.current - 1);\n break;\n }\n case \"ArrowRight\": {\n event.preventDefault();\n setFocusedIndex(focusedIndexRef.current + 1);\n break;\n }\n case \"ArrowLeft\": {\n event.preventDefault();\n setFocusedIndex(focusedIndexRef.current - 1);\n break;\n }\n case \"Enter\": {\n event.preventDefault();\n const folder = getFocusedFolder();\n if (folder) {\n onFolderOpen?.(folder);\n } else {\n const file = getFocusedFile();\n if (file) {\n onFilePreview?.(file);\n }\n }\n break;\n }\n case \" \": {\n event.preventDefault();\n const folder = getFocusedFolder();\n if (folder) {\n toggleFolderSelection(folder.id);\n } else {\n const file = getFocusedFile();\n if (file) {\n toggleFileSelection(file.id);\n }\n }\n break;\n }\n case \"Delete\":\n case \"Backspace\": {\n event.preventDefault();\n if (isBinTab) {\n return;\n }\n const folder = getFocusedFolder();\n if (folder) {\n onFolderDelete?.(folder);\n } else {\n const file = getFocusedFile();\n if (file) {\n onFileDelete?.(file);\n }\n }\n break;\n }\n case \"Escape\": {\n event.preventDefault();\n clearSelection();\n setFocusedIndex(-1);\n break;\n }\n case \"a\":\n case \"A\": {\n if (event.ctrlKey || event.metaKey) {\n event.preventDefault();\n const fileIds = files.map((f) => f.id);\n const folderIds = folders.map((f) => f.id);\n selectAllFiles(fileIds);\n selectAllFolders(folderIds);\n }\n break;\n }\n }\n },\n [\n activeTab,\n clearSelection,\n files,\n folders,\n getFocusedFile,\n getFocusedFolder,\n onFileDelete,\n onFilePreview,\n onFolderDelete,\n onFolderOpen,\n selectAllFiles,\n selectAllFolders,\n setFocusedIndex,\n toggleFileSelection,\n toggleFolderSelection,\n ],\n );\n\n useEffect(() => {\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [handleKeyDown]);\n\n return {\n focusedIndex: focusedIndexRef.current,\n setFocusedIndex,\n getFocusedItem,\n };\n}\n"],"mappings":";;;AAcA,SAAgB,EAAsB,EACpC,UACA,YACA,kBACA,iBACA,iBACA,mBACA,gBAC+B;CAC/B,IAAM,IAAkB,EAAe,GAAG,EACpC,EACJ,kBACA,oBACA,mBACA,eACA,iBACA,wBACA,0BACA,mBACA,wBACE,GAAe,EAEb,IAAW,CAAC,GAAG,GAAS,GAAG,EAAM,EACjC,IAAa,EAAS,QAEtB,IAAkB,GACrB,MAAkB;AAEjB,IAAgB,UADK,KAAK,IAAI,IAAI,KAAK,IAAI,GAAO,IAAa,EAAE,CAAC;IAGpE,CAAC,EAAW,CACb,EAEK,IAAiB,QACjB,EAAgB,WAAW,KAAK,EAAgB,UAAU,IACrD,EAAS,EAAgB,WAE3B,MACN,CAAC,GAAU,EAAW,CAAC,EAEpB,IAAkB,GACrB,MACQ,IAAQ,EAAQ,QAEzB,CAAC,EAAQ,OAAO,CACjB,EAEK,IAAgB,GACnB,MACQ,KAAS,EAAQ,QAE1B,CAAC,EAAQ,OAAO,CACjB,EAEK,IAAiB,QAAmC;EACxD,IAAM,IAAM,EAAgB;AAI5B,SAHI,EAAc,EAAI,GACb,EAAM,IAAM,EAAQ,WAAW,OAEjC;IACN;EAAC;EAAO,EAAQ;EAAQ;EAAc,CAAC,EAEpC,IAAmB,QAAqC;EAC5D,IAAM,IAAM,EAAgB;AAI5B,SAHI,EAAgB,EAAI,GACf,EAAQ,MAAQ,OAElB;IACN,CAAC,GAAS,EAAgB,CAAC,EAExB,IAAgB,GACnB,MAAyB;EACxB,IAAM,IAAS,EAAM;AAMrB,MAJE,EAAO,YAAY,WACnB,EAAO,YAAY,cACnB,EAAO,kBAGP;EAGF,IAAM,IAAW,MAAc;AAE/B,UAAQ,EAAM,KAAd;GACE,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAgB,EAAgB,UAAU,EAAE;AAC5C;GAEF,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAgB,EAAgB,UAAU,EAAE;AAC5C;GAEF,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAgB,EAAgB,UAAU,EAAE;AAC5C;GAEF,KAAK;AAEH,IADA,EAAM,gBAAgB,EACtB,EAAgB,EAAgB,UAAU,EAAE;AAC5C;GAEF,KAAK,SAAS;AACZ,MAAM,gBAAgB;IACtB,IAAM,IAAS,GAAkB;AACjC,QAAI,EACF,KAAe,EAAO;SACjB;KACL,IAAM,IAAO,GAAgB;AAC7B,KAAI,KACF,IAAgB,EAAK;;AAGzB;;GAEF,KAAK,KAAK;AACR,MAAM,gBAAgB;IACtB,IAAM,IAAS,GAAkB;AACjC,QAAI,EACF,GAAsB,EAAO,GAAG;SAC3B;KACL,IAAM,IAAO,GAAgB;AAC7B,KAAI,KACF,EAAoB,EAAK,GAAG;;AAGhC;;GAEF,KAAK;GACL,KAAK,aAAa;AAEhB,QADA,EAAM,gBAAgB,EAClB,EACF;IAEF,IAAM,IAAS,GAAkB;AACjC,QAAI,EACF,KAAiB,EAAO;SACnB;KACL,IAAM,IAAO,GAAgB;AAC7B,KAAI,KACF,IAAe,EAAK;;AAGxB;;GAEF,KAAK;AAGH,IAFA,EAAM,gBAAgB,EACtB,GAAgB,EAChB,EAAgB,GAAG;AACnB;GAEF,KAAK;GACL,KAAK;AACH,QAAI,EAAM,WAAW,EAAM,SAAS;AAClC,OAAM,gBAAgB;KACtB,IAAM,IAAU,EAAM,KAAK,MAAM,EAAE,GAAG,EAChC,IAAY,EAAQ,KAAK,MAAM,EAAE,GAAG;AAE1C,KADA,EAAe,EAAQ,EACvB,EAAiB,EAAU;;AAE7B;;IAIN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AASD,QAPA,SACE,SAAS,iBAAiB,WAAW,EAAc,QACtC;AACX,WAAS,oBAAoB,WAAW,EAAc;KAEvD,CAAC,EAAc,CAAC,EAEZ;EACL,cAAc,EAAgB;EAC9B;EACA;EACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface MoveFileInput {
|
|
2
|
+
fileId: string;
|
|
3
|
+
targetFolderId: string | null;
|
|
4
|
+
}
|
|
5
|
+
export declare const useMoveFile: () => {
|
|
6
|
+
mutateAsync: ({ fileId, targetFolderId }: MoveFileInput) => Promise<any>;
|
|
7
|
+
isPending: boolean;
|
|
8
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useMoveFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMoveFile.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useMoveFile.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,eAAO,MAAM,WAAW;8CAM4B,aAAa;;;CAchE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useMoveFileMutation as e } from "../../generated/wspace-operations.js";
|
|
2
|
+
//#region src/files/hooks/useMoveFile.ts
|
|
3
|
+
var t = () => {
|
|
4
|
+
let [t, { loading: n, error: r }] = e({ refetchQueries: [
|
|
5
|
+
"GetFiles",
|
|
6
|
+
"GetFolders",
|
|
7
|
+
"GetRecentFiles"
|
|
8
|
+
] });
|
|
9
|
+
return {
|
|
10
|
+
mutateAsync: async ({ fileId: e, targetFolderId: n }) => (await t({ variables: { input: {
|
|
11
|
+
fileId: e,
|
|
12
|
+
targetFolderId: n
|
|
13
|
+
} } })).data?.moveFile,
|
|
14
|
+
isPending: n,
|
|
15
|
+
error: r
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { t as useMoveFile };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=useMoveFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMoveFile.js","names":[],"sources":["../../../src/files/hooks/useMoveFile.ts"],"sourcesContent":["import { useMoveFileMutation } from \"../../generated/wspace-operations\";\n\nexport interface MoveFileInput {\n fileId: string;\n targetFolderId: string | null;\n}\n\nexport const useMoveFile = () => {\n const [moveFileMutation, { loading, error }] = useMoveFileMutation({\n refetchQueries: [\"GetFiles\", \"GetFolders\", \"GetRecentFiles\"],\n });\n\n return {\n mutateAsync: async ({ fileId, targetFolderId }: MoveFileInput) => {\n const result = await moveFileMutation({\n variables: {\n input: {\n fileId,\n targetFolderId,\n },\n },\n });\n return result.data?.moveFile;\n },\n isPending: loading,\n error,\n };\n};\n"],"mappings":";;AAOA,IAAa,UAAoB;CAC/B,IAAM,CAAC,GAAkB,EAAE,YAAS,cAAW,EAAoB,EACjE,gBAAgB;EAAC;EAAY;EAAc;EAAiB,EAC7D,CAAC;AAEF,QAAO;EACL,aAAa,OAAO,EAAE,WAAQ,yBACb,MAAM,EAAiB,EACpC,WAAW,EACT,OAAO;GACL;GACA;GACD,EACF,EACF,CAAC,EACY,MAAM;EAEtB,WAAW;EACX;EACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface MoveFolderInput {
|
|
2
|
+
folderId: string;
|
|
3
|
+
targetParentFolderId: string | null;
|
|
4
|
+
}
|
|
5
|
+
export declare const useMoveFolder: () => {
|
|
6
|
+
mutateAsync: ({ folderId, targetParentFolderId, }: MoveFolderInput) => Promise<any>;
|
|
7
|
+
isPending: boolean;
|
|
8
|
+
error: import('@apollo/client').ErrorLike | undefined;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useMoveFolder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMoveFolder.d.ts","sourceRoot":"","sources":["../../../src/files/hooks/useMoveFolder.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,eAAO,MAAM,aAAa;uDASnB,eAAe;;;CAerB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useMoveFolderMutation as e } from "../../generated/wspace-operations.js";
|
|
2
|
+
//#region src/files/hooks/useMoveFolder.ts
|
|
3
|
+
var t = () => {
|
|
4
|
+
let [t, { loading: n, error: r }] = e({ refetchQueries: [
|
|
5
|
+
"GetFolders",
|
|
6
|
+
"GetFiles",
|
|
7
|
+
"GetRecentFolders"
|
|
8
|
+
] });
|
|
9
|
+
return {
|
|
10
|
+
mutateAsync: async ({ folderId: e, targetParentFolderId: n }) => (await t({ variables: { input: {
|
|
11
|
+
folderId: e,
|
|
12
|
+
targetParentFolderId: n
|
|
13
|
+
} } })).data?.moveFolder,
|
|
14
|
+
isPending: n,
|
|
15
|
+
error: r
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { t as useMoveFolder };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=useMoveFolder.js.map
|