Add drag and drop functionality for texts and folders in App.tsx
This commit is contained in:
27
src/App.tsx
27
src/App.tsx
@@ -797,6 +797,33 @@ export default function App() {
|
|||||||
[foldersByParent, refreshFolders, refreshTexts, textsByFolder]
|
[foldersByParent, refreshFolders, refreshTexts, textsByFolder]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const handleDragStartText = useCallback((event: React.DragEvent, text: Text) => {
|
||||||
|
dragItemRef.current = {
|
||||||
|
type: "text",
|
||||||
|
id: text.id,
|
||||||
|
parentId: text.folder_id ?? null
|
||||||
|
};
|
||||||
|
event.dataTransfer.effectAllowed = "move";
|
||||||
|
event.dataTransfer.setData("text/plain", text.id);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const handleDragStartFolder = useCallback(
|
||||||
|
(event: React.DragEvent, folder: Folder) => {
|
||||||
|
dragItemRef.current = {
|
||||||
|
type: "folder",
|
||||||
|
id: folder.id,
|
||||||
|
parentId: folder.parent_id ?? null
|
||||||
|
};
|
||||||
|
event.dataTransfer.effectAllowed = "move";
|
||||||
|
event.dataTransfer.setData("text/plain", folder.id);
|
||||||
|
},
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
|
||||||
|
const handleDragEnd = useCallback(() => {
|
||||||
|
dragItemRef.current = null;
|
||||||
|
}, []);
|
||||||
|
|
||||||
const createTextFromFile = useCallback(
|
const createTextFromFile = useCallback(
|
||||||
async (filePath: string) => {
|
async (filePath: string) => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user