Fix initial topic selection for Publish component

Fixes #101
This commit is contained in:
Thomas Nordquist
2019-04-15 15:52:43 +02:00
parent 91a9ba7757
commit c43d1fadb4

View File

@@ -13,19 +13,22 @@ export const selectTopic = (topic: q.TreeNode<TopicViewModel>) => (dispatch: Dis
} }
const debouncedSelectTopic = debounce((topic: q.TreeNode<TopicViewModel>, dispatch: Dispatch<any>, getState: () => AppState) => { const debouncedSelectTopic = debounce((topic: q.TreeNode<TopicViewModel>, dispatch: Dispatch<any>, getState: () => AppState) => {
const selectedTopic = getState().tree.get('selectedTopic') const previouslySelectedTopic = getState().tree.get('selectedTopic')
if (selectedTopic === topic) {
if (previouslySelectedTopic === topic) {
return return
} }
// Update publish topic // Update publish topic
let setTopicDispatch: any | undefined 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()) setTopicDispatch = setTopic(topic.path())
} }
if (selectedTopic && selectedTopic.viewModel) { if (previouslySelectedTopic && previouslySelectedTopic.viewModel) {
selectedTopic.viewModel.setSelected(false) previouslySelectedTopic.viewModel.setSelected(false)
} }
if (topic.viewModel) { if (topic.viewModel) {