From 3d4c4e1a9288cc04416b00774af60c9468db8f64 Mon Sep 17 00:00:00 2001 From: Josh Ramos Date: Fri, 30 Jun 2023 14:48:14 +1000 Subject: [PATCH 1/7] temp fix to rename input field not updating after 1st refresh --- .../dashboard/components/FileRenderer/FileContainer.tsx | 2 +- .../dashboard/components/FileRenderer/FolderContainer.tsx | 1 - .../dashboard/components/FileRenderer/Renamable.tsx | 7 +++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx b/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx index 38fe094e..abab4eec 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx @@ -39,7 +39,7 @@ const IconContainer = styled.div` function FileContainer({ name, id, selectedFile, setSelectedFile }: Props) { const handleClick = () => { - console.log(id); + console.log(id, name); setSelectedFile(id); }; diff --git a/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx b/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx index 85f1a79f..7722c44a 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx @@ -54,7 +54,6 @@ export default function FolderContainer({ console.log(id); dispatch(traverseIntoFolder(id)); }; - return ( (name); const dispatch = useDispatch(); @@ -30,7 +30,10 @@ export default function Renamable({ name, id }: Props) { return ( <> {toggle ? ( -
setToggle(false)}>{name}
+
{ + setToggle(false); + setInputName(name); + }} onClick={() => console.log(inputName, name, id)}>{name}
) : ( Date: Fri, 30 Jun 2023 16:15:46 +1000 Subject: [PATCH 2/7] possible workaround of having files displayed in alphabetical order --- frontend/src/packages/dashboard/api/index.ts | 1 + .../components/FileRenderer/Renamable.tsx | 4 ++- .../components/FileRenderer/Renderer.tsx | 8 ++++- .../dashboard/state/folders/reducers.ts | 29 ++++++++++++------- .../packages/dashboard/state/folders/sagas.ts | 1 + 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/frontend/src/packages/dashboard/api/index.ts b/frontend/src/packages/dashboard/api/index.ts index 34298ec1..e0c8d441 100644 --- a/frontend/src/packages/dashboard/api/index.ts +++ b/frontend/src/packages/dashboard/api/index.ts @@ -31,6 +31,7 @@ export async function updateContents(id: string) { const children_json = await children_resp.json(); const children = children_json.Response.Children.map( (child: JSONFileFormat) => { + console.log(child); return toFileOrFolder(child); } ); diff --git a/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx b/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx index dcf07731..92359eee 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx @@ -32,7 +32,9 @@ export default function Renamable({ name, id }: Props) { {toggle ? (
{ setToggle(false); - setInputName(name); + // required as browser doesn't update inputName + // after first refresh of page after renaming + setInputName(name); }} onClick={() => console.log(inputName, name, id)}>{name}
) : ( - folderItems.map((item, index) => { + [...folderItems] + .sort((a, b) => (a.name < b.name ? -1: ( a.name > b.name ? 1 : 0))) + .map((item, index) => { + console.log(item.name) switch (item.type) { case 'Folder': return ( @@ -44,6 +49,7 @@ export default function Renderer({ selectedFile, setSelectedFile }: Props) { return; } }); + console.log(" "); return (
) { + console.log(action.payload); + const newEntityList: FileEntity[] = [...action.payload]; return { ...state, @@ -58,19 +60,26 @@ export function renameFileEntity( state: sliceState, action: PayloadAction ) { + const { id, newName } = action.payload; + + const items = (state.items.map((item) => { + if (item.id == id) { + return { + ...item, + name: newName, + }; + // item.name = newName; + } + // else + return item; + })) + + console.log(items); + return { ...state, - items: state.items.map((item) => { - if (item.id == id) { - return { - ...item, - name: newName, - }; - } - // else - return item; - }), + items }; } diff --git a/frontend/src/packages/dashboard/state/folders/sagas.ts b/frontend/src/packages/dashboard/state/folders/sagas.ts index 667db248..f74118ca 100644 --- a/frontend/src/packages/dashboard/state/folders/sagas.ts +++ b/frontend/src/packages/dashboard/state/folders/sagas.ts @@ -82,6 +82,7 @@ function* traverseIntoFolderSaga({ payload: id }: { payload: string }) { parentFolder: id, folderName: folder.name, }; + console.log("traversing to", folder.name) // change path yield put(actions.setDirectory(dirPayload)); // set children From 431a3bf636ccaed82f89312f988e989c7d432fde Mon Sep 17 00:00:00 2001 From: Josh Ramos Date: Fri, 30 Jun 2023 16:33:28 +1000 Subject: [PATCH 3/7] added code to add priority to folders --- .../components/FileRenderer/Renderer.tsx | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx b/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx index 65971492..53b896af 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx @@ -4,6 +4,7 @@ import { RootState } from 'src/redux-state/reducers'; import { folderSelectors } from '../../state/folders/index'; import FileContainer from './FileContainer'; import FolderContainer from './FolderContainer'; +import { FileEntity } from '../../state/folders/types'; type Props = { selectedFile: string | null; @@ -19,9 +20,26 @@ export default function Renderer({ selectedFile, setSelectedFile }: Props) { // folderItems - const renderItems = () => + const fileComparator = (a : FileEntity, b : FileEntity) => { + if (a.type === b.type) { + return ( + a.name.toLowerCase() < b.name.toLowerCase() + ? -1 + : ( a.name.toLowerCase() > b.name.toLowerCase() + ? 1 + : 0 + ) + ); + } else if (a.type === "folder") { + return 1 + } + return -1; + }; + + const renderItems = () => + [...folderItems] - .sort((a, b) => (a.name < b.name ? -1: ( a.name > b.name ? 1 : 0))) + .sort(fileComparator) .map((item, index) => { console.log(item.name) switch (item.type) { From 67599ca3f4643e241e1b619b8e7baa2f5b8883d4 Mon Sep 17 00:00:00 2001 From: Josh Ramos Date: Fri, 30 Jun 2023 16:40:23 +1000 Subject: [PATCH 4/7] capitalised type names in comparator --- .../packages/dashboard/components/FileRenderer/Renderer.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx b/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx index 53b896af..4fbb0cc5 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/Renderer.tsx @@ -21,6 +21,7 @@ export default function Renderer({ selectedFile, setSelectedFile }: Props) { // folderItems const fileComparator = (a : FileEntity, b : FileEntity) => { + console.log(a.type, b.type); if (a.type === b.type) { return ( a.name.toLowerCase() < b.name.toLowerCase() @@ -30,7 +31,7 @@ export default function Renderer({ selectedFile, setSelectedFile }: Props) { : 0 ) ); - } else if (a.type === "folder") { + } else if (a.type === "File") { return 1 } return -1; From e2bdc611851646be58dc6eb15988cfbb27c9f008 Mon Sep 17 00:00:00 2001 From: Josh Ramos Date: Thu, 13 Jul 2023 20:14:41 +1000 Subject: [PATCH 5/7] removed debugging console statements --- .../dashboard/components/FileRenderer/FolderContainer.tsx | 2 -- .../packages/dashboard/components/FileRenderer/Renamable.tsx | 2 +- .../packages/dashboard/components/FileRenderer/Renderer.tsx | 3 --- frontend/src/packages/dashboard/state/folders/sagas.ts | 1 - 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx b/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx index 7722c44a..0d7e0c82 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx @@ -46,12 +46,10 @@ export default function FolderContainer({ const dispatch = useDispatch(); const handleClick = () => { - console.log(id); setSelectedFile(id); }; const handleDoubleClick = () => { - console.log(id); dispatch(traverseIntoFolder(id)); }; return ( diff --git a/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx b/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx index 92359eee..efeb3338 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/Renamable.tsx @@ -35,7 +35,7 @@ export default function Renamable({ name, id }: Props) { // required as browser doesn't update inputName // after first refresh of page after renaming setInputName(name); - }} onClick={() => console.log(inputName, name, id)}>{name}
+ }}>{name} ) : ( { - console.log(a.type, b.type); if (a.type === b.type) { return ( a.name.toLowerCase() < b.name.toLowerCase() @@ -42,7 +41,6 @@ export default function Renderer({ selectedFile, setSelectedFile }: Props) { [...folderItems] .sort(fileComparator) .map((item, index) => { - console.log(item.name) switch (item.type) { case 'Folder': return ( @@ -68,7 +66,6 @@ export default function Renderer({ selectedFile, setSelectedFile }: Props) { return; } }); - console.log(" "); return (
Date: Thu, 13 Jul 2023 20:17:38 +1000 Subject: [PATCH 6/7] removed more dangling debugging comments --- frontend/src/packages/dashboard/api/index.ts | 1 - .../dashboard/components/FileRenderer/FileContainer.tsx | 2 +- .../dashboard/components/FileRenderer/FolderContainer.tsx | 2 ++ frontend/src/packages/dashboard/state/folders/reducers.ts | 5 ----- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/frontend/src/packages/dashboard/api/index.ts b/frontend/src/packages/dashboard/api/index.ts index e0c8d441..34298ec1 100644 --- a/frontend/src/packages/dashboard/api/index.ts +++ b/frontend/src/packages/dashboard/api/index.ts @@ -31,7 +31,6 @@ export async function updateContents(id: string) { const children_json = await children_resp.json(); const children = children_json.Response.Children.map( (child: JSONFileFormat) => { - console.log(child); return toFileOrFolder(child); } ); diff --git a/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx b/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx index abab4eec..38fe094e 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/FileContainer.tsx @@ -39,7 +39,7 @@ const IconContainer = styled.div` function FileContainer({ name, id, selectedFile, setSelectedFile }: Props) { const handleClick = () => { - console.log(id, name); + console.log(id); setSelectedFile(id); }; diff --git a/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx b/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx index 0d7e0c82..7722c44a 100644 --- a/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx +++ b/frontend/src/packages/dashboard/components/FileRenderer/FolderContainer.tsx @@ -46,10 +46,12 @@ export default function FolderContainer({ const dispatch = useDispatch(); const handleClick = () => { + console.log(id); setSelectedFile(id); }; const handleDoubleClick = () => { + console.log(id); dispatch(traverseIntoFolder(id)); }; return ( diff --git a/frontend/src/packages/dashboard/state/folders/reducers.ts b/frontend/src/packages/dashboard/state/folders/reducers.ts index bcfb7974..e6c67a33 100644 --- a/frontend/src/packages/dashboard/state/folders/reducers.ts +++ b/frontend/src/packages/dashboard/state/folders/reducers.ts @@ -14,8 +14,6 @@ export function setItems( state: sliceState, action: PayloadAction ) { - console.log(action.payload); - const newEntityList: FileEntity[] = [...action.payload]; return { ...state, @@ -69,13 +67,10 @@ export function renameFileEntity( ...item, name: newName, }; - // item.name = newName; } // else return item; })) - - console.log(items); return { ...state, From 28a3b0eab95e95bba2705fa13535c6177c5d507c Mon Sep 17 00:00:00 2001 From: Josh Ramos Date: Thu, 13 Jul 2023 20:46:24 +1000 Subject: [PATCH 7/7] revereded renameFileEntity to its original format --- .../dashboard/state/folders/reducers.ts | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/frontend/src/packages/dashboard/state/folders/reducers.ts b/frontend/src/packages/dashboard/state/folders/reducers.ts index e6c67a33..0e4459ab 100644 --- a/frontend/src/packages/dashboard/state/folders/reducers.ts +++ b/frontend/src/packages/dashboard/state/folders/reducers.ts @@ -60,21 +60,18 @@ export function renameFileEntity( ) { const { id, newName } = action.payload; - - const items = (state.items.map((item) => { - if (item.id == id) { - return { - ...item, - name: newName, - }; - } - // else - return item; - })) - return { ...state, - items + items: state.items.map((item) => { + if (item.id == id) { + return { + ...item, + name: newName, + }; + } + // else + return item; + }), }; }