From 19c4668b3cfc41eeec1682883be14c17c72af7d8 Mon Sep 17 00:00:00 2001 From: cha0s Date: Sun, 28 Jun 2020 08:43:03 -0500 Subject: [PATCH] fix: autosort --- src/client/sidebar.jsx | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/client/sidebar.jsx b/src/client/sidebar.jsx index 4a31a69..99a5cbd 100644 --- a/src/client/sidebar.jsx +++ b/src/client/sidebar.jsx @@ -18,6 +18,15 @@ const decorate = compose( const rootUri = '/resources/cha0s/initial'; +const sortTree = (tree) => { + tree.sort((l, r) => l.title.localeCompare(r.title)); + if (tree.children) { + // eslint-disable-next-line no-param-reassign + tree.children = sortTree(tree.children); + } + return tree; +}; + const Sidebar = () => { const dispatch = useDispatch(); const [treeData, setTreeData] = useState([]); @@ -51,14 +60,6 @@ const Sidebar = () => { visited[node.id] = true; return true; }); - const sortTree = (tree) => { - tree.sort((l, r) => l.title.localeCompare(r.title)); - if (tree.children) { - // eslint-disable-next-line no-param-reassign - tree.children = sortTree(tree.children); - } - return tree; - }; setTreeData(sortTree(getTreeFromFlatData({ flatData: nodes, rootKey: '', @@ -87,7 +88,8 @@ const Sidebar = () => { } }, })} - onChange={setTreeData} + // eslint-disable-next-line no-shadow + onChange={(treeData) => setTreeData(sortTree(treeData))} theme={FileExplorerTheme} treeData={treeData} />