kastork
02/17/2018, 12:56 AMjkbbwr
02/17/2018, 12:59 AMkastork
02/17/2018, 1:00 AMkastork
02/17/2018, 1:00 AMkastork
02/17/2018, 1:01 AMjkbbwr
02/17/2018, 1:02 AMkastork
02/17/2018, 1:02 AMkastork
02/17/2018, 1:03 AMjkbbwr
02/17/2018, 1:04 AMjkbbwr
02/17/2018, 1:04 AMkastork
02/17/2018, 1:06 AMedvin
02/17/2018, 10:35 AMiLobanov
02/17/2018, 12:32 PM// data
@Serializable
data class Project(
val id: Int? = null,
val companyId: Int,
val sender: Sender?
) {
companion object {}
}
@Serializable
data class Sender (
val id: Int? = null, // Null when proposition
val emailFrom: String,
val reportRate: Long,
val sampleRate: Long,
val launchTime: Number,
val status: String
) {
companion object {}
}
// view model
class ProjectModel : ItemViewModel<Project>() {
val id = bind(Project::id)
val companyId = bind(Project::companyId)
val sender = bind(Project::sender)
}
// view
class ProjectCardFragment: ListCellFragment<Project>() {
private val project = ProjectModel().bindTo(this)
override val root = stackpane {
vbox {
println("ProjectCardFragment >>>>>>>>>>>>>>>")
println(project.companyId)
println(project.sender)
textInt(project.id)
text(project.sender.value.emailFrom)
...
}
edvin
02/17/2018, 1:08 PMProjectModel
and bind towards that, but it won't update when you change the sender, since that isn't observable. I highly recommend to not fight the JavaFX properties, and just accept that they are needed in a JavaFX application. Without them you'll have to jump through burning hoops all the time. With real properties you can do multi level observable bindings that update automatically on commit. If you feel you need to keep your data classes, at least use DTO's 🙂iLobanov
02/17/2018, 1:41 PMedvin
02/17/2018, 2:04 PMonCommit
tieskedh
02/17/2018, 6:07 PMedvin
02/17/2018, 6:46 PMbkenn
02/17/2018, 6:48 PMedvin
02/17/2018, 6:48 PMtieskedh
02/17/2018, 6:48 PMedvin
02/17/2018, 6:48 PMedvin
02/17/2018, 6:49 PMedvin
02/17/2018, 6:49 PMtieskedh
02/17/2018, 7:41 PMedvin
02/17/2018, 8:11 PMtieskedh
02/17/2018, 8:13 PMedvin
02/17/2018, 8:13 PMtieskedh
02/17/2018, 8:14 PMtieskedh
02/17/2018, 8:32 PM