Update model and add invalidated cycle

This commit is contained in:
Misode
2020-05-25 14:45:10 +02:00
parent 79a5742dad
commit 56f3766a13
9 changed files with 73 additions and 20 deletions

View File

@@ -1,14 +1,20 @@
import { DataModel } from "../model/DataModel"
import { Path } from "../model/Path"
import { DataModel, ModelListener } from "../model/DataModel"
export class SourceView {
export class SourceView implements ModelListener {
model: DataModel
target: HTMLElement
constructor(model: DataModel) {
constructor(model: DataModel, target: HTMLElement) {
this.model = model
this.target = target
model.addListener(this)
}
render(target: HTMLElement) {
target.textContent = this.model.schema.transform(this.model.data)
render() {
this.target.textContent = this.model.schema.transform(this.model.data)
}
invalidated() {
this.render()
}
}