@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user