[Bug fix] - explorer doesn't remove node from network view. (#779)

This commit is contained in:
Patrick Kuo 2018-04-26 13:19:06 +01:00 committed by GitHub
parent d2b6978d90
commit eb5b03e2f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View File

@ -36,7 +36,9 @@ class NetworkIdentityModel {
else -> false
}
}
list.addAll(update.node)
if(update is MapChange.Modified || update is MapChange.Added){
list.addAll(update.node)
}
}
private val rpcProxy by observableValue(NodeMonitorModel::proxyObservable)

View File

@ -18,6 +18,7 @@ import javafx.beans.binding.Bindings
import javafx.beans.property.SimpleObjectProperty
import javafx.beans.value.ObservableValue
import javafx.collections.FXCollections
import javafx.collections.ListChangeListener
import javafx.geometry.Bounds
import javafx.geometry.Insets
import javafx.geometry.Point2D
@ -79,7 +80,15 @@ class Network : CordaView() {
private val notaryButtons = notaryComponents.map { it.button }
private val peerComponents = peers.map { it.render() }
private val peerButtons = peerComponents.filtered { myIdentity.value !in it.nodeInfo.legalIdentitiesAndCerts.map { it.party } }.map { it.button }
private val allComponents = FXCollections.observableArrayList(notaryComponents, peerComponents).concatenate()
private val allComponents = FXCollections.observableArrayList(notaryComponents, peerComponents).concatenate().apply {
addListener(ListChangeListener {
if(it.next()){
it.removed.forEach {
mapPane.children.remove(it.label)
}
}
})
}
private val mapLabels = allComponents.map { it.label }
private data class MapViewComponents(val nodeInfo: NodeInfo, val button: Button, val label: Label)