Destroy view-models when destroying trees
This commit is contained in:
@@ -97,7 +97,7 @@ class TreeNodeComponent extends React.Component<Props, State> {
|
||||
treeNode.viewModel.change.subscribe(this.viewStateHasChanged)
|
||||
}
|
||||
|
||||
private viewStateHasChanged = (msg: void) => {
|
||||
private viewStateHasChanged = () => {
|
||||
this.props.treeNode.viewModel && this.setState({ selected: this.props.treeNode.viewModel.isSelected() })
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { Destroyable } from '../../../backend/src/Model/Destroyable'
|
||||
import { EventDispatcher } from '../../../events'
|
||||
|
||||
export class TopicViewModel {
|
||||
export class TopicViewModel implements Destroyable {
|
||||
private selected: boolean
|
||||
public change = new EventDispatcher<void, TopicViewModel>()
|
||||
|
||||
@@ -8,6 +9,10 @@ export class TopicViewModel {
|
||||
this.selected = false
|
||||
}
|
||||
|
||||
public destroy() {
|
||||
this.change.removeAllListeners()
|
||||
}
|
||||
|
||||
public isSelected() {
|
||||
return this.selected
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user