From c43d1fadb4e9e6b870ff63eb692b456bab65769f Mon Sep 17 00:00:00 2001 From: Thomas Nordquist Date: Mon, 15 Apr 2019 15:52:43 +0200 Subject: [PATCH] Fix initial topic selection for Publish component Fixes #101 --- app/src/actions/Tree.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/actions/Tree.ts b/app/src/actions/Tree.ts index c4f902e..2758529 100644 --- a/app/src/actions/Tree.ts +++ b/app/src/actions/Tree.ts @@ -13,19 +13,22 @@ export const selectTopic = (topic: q.TreeNode) => (dispatch: Dis } const debouncedSelectTopic = debounce((topic: q.TreeNode, dispatch: Dispatch, getState: () => AppState) => { - const selectedTopic = getState().tree.get('selectedTopic') - if (selectedTopic === topic) { + const previouslySelectedTopic = getState().tree.get('selectedTopic') + + if (previouslySelectedTopic === topic) { return } // Update publish topic let setTopicDispatch: any | undefined - if (selectedTopic && (selectedTopic.path() === getState().publish.topic || !getState().publish.topic)) { + if (!getState().publish.topic) { + setTopicDispatch = setTopic(topic.path()) + } else if (previouslySelectedTopic && (previouslySelectedTopic.path() === getState().publish.topic)) { setTopicDispatch = setTopic(topic.path()) } - if (selectedTopic && selectedTopic.viewModel) { - selectedTopic.viewModel.setSelected(false) + if (previouslySelectedTopic && previouslySelectedTopic.viewModel) { + previouslySelectedTopic.viewModel.setSelected(false) } if (topic.viewModel) {