From 72356a2ebfbde56c96a607d8b084661bbc26b5ea Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Thu, 21 Feb 2019 15:51:10 +0800 Subject: [PATCH] feat: keyboard shortcut for reveal item --- src/driver/core/FileExplorer.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/driver/core/FileExplorer.ts b/src/driver/core/FileExplorer.ts index 32b30ba..03f6be8 100644 --- a/src/driver/core/FileExplorer.ts +++ b/src/driver/core/FileExplorer.ts @@ -94,7 +94,6 @@ const setUpTree: MethodCreator = dispatch => () => tasksAfterRender.push(DOMHelper.focusSearchInput) dispatch.call(setStateText, '') dispatch.call(goTo, URLHelper.getCurrentPath(metaData.branchName)) - dispatch.call(updateVisibleNodes) }) const execAfterRender: MethodCreator = dispatch => () => { @@ -118,7 +117,7 @@ const handleKeyDown: MethodCreator< ConnectorState, [React.KeyboardEvent] > = dispatch => event => - dispatch.get(({ visibleNodes: { nodes, focusedNode, expandedNodes, depths } }) => { + dispatch.get(({ searched, visibleNodes: { nodes, focusedNode, expandedNodes, depths } }) => { function handleVerticalMove(index: number) { if (0 <= index && index < nodes.length) { DOMHelper.focusFileExplorer() @@ -181,9 +180,14 @@ const handleKeyDown: MethodCreator< case 'Enter': // expand node or redirect to file page if (focusedNode.type === 'tree') { - dispatch.call(setExpand, focusedNode, true) + if (searched) { + dispatch.call(goTo, focusedNode.path.split('/')) + } else { + dispatch.call(setExpand, focusedNode, true) + } } else if (focusedNode.type === 'blob') { - if (focusedNode.url) DOMHelper.loadWithPJAX(focusedNode.url) + if (searched) dispatch.call(goTo, focusedNode.path.split('/')) + else if (focusedNode.url) DOMHelper.loadWithPJAX(focusedNode.url) } else if (focusedNode.type === 'commit') { window.open(focusedNode.url) }