also read db
This commit is contained in:
parent
f74a0aa4c1
commit
81bd1fa16b
1 changed files with 17 additions and 5 deletions
|
|
@ -7,6 +7,10 @@ import com.raquo.laminar.api.L.{*, given}
|
||||||
import com.raquo.laminar.api.features.unitArrows
|
import com.raquo.laminar.api.features.unitArrows
|
||||||
import scala.scalajs.js.Date
|
import scala.scalajs.js.Date
|
||||||
import rdts.base.Uid
|
import rdts.base.Uid
|
||||||
|
import fahrtenbuch.DexieDB.entriesObservable
|
||||||
|
import scala.util.Failure
|
||||||
|
import scala.util.Success
|
||||||
|
import scala.concurrent.ExecutionContext.Implicits.global
|
||||||
|
|
||||||
// import javascriptLogo from "/javascript.svg"
|
// import javascriptLogo from "/javascript.svg"
|
||||||
//@js.native @JSImport("/javascript.svg", JSImport.Default)
|
//@js.native @JSImport("/javascript.svg", JSImport.Default)
|
||||||
|
|
@ -41,17 +45,25 @@ object Main {
|
||||||
entryEditBus.stream.tapEach(_ => println("lalilu"))
|
entryEditBus.stream.tapEach(_ => println("lalilu"))
|
||||||
println("test")
|
println("test")
|
||||||
|
|
||||||
val allEntries = entryEditBus.stream.foldLeft(Map.empty[Uid, Entry]) {
|
val allEntriesVar = Var(Set.empty[Entry])
|
||||||
case (acc, entry) =>
|
entriesObservable.subscribe(entries =>
|
||||||
acc + (entry.id -> entry)
|
entries.onComplete {
|
||||||
|
case Failure(exception) => println("failed to get entries from db")
|
||||||
|
case Success(value) => allEntriesVar.set(value.toSet)
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
val allEntries = allEntriesVar.signal
|
||||||
|
// val allEntries = entryEditBus.stream.foldLeft(Map.empty[Uid, Entry]) {
|
||||||
|
// case (acc, entry) =>
|
||||||
|
// acc + (entry.id -> entry)
|
||||||
|
// }
|
||||||
entryEditBus.stream.addObserver(entryObserver)(using unsafeWindowOwner)
|
entryEditBus.stream.addObserver(entryObserver)(using unsafeWindowOwner)
|
||||||
|
|
||||||
val entryComponents: Signal[List[EntryComponent]] =
|
val entryComponents: Signal[List[EntryComponent]] =
|
||||||
allEntries
|
allEntries
|
||||||
.combineWith(editStateSignal)
|
.combineWith(editStateSignal)
|
||||||
.map { case (entries, editState) =>
|
.map { case (entries, editState) =>
|
||||||
entries.values.toList
|
entries.toList
|
||||||
.sortBy(_.id)
|
.sortBy(_.id)
|
||||||
.map(entry =>
|
.map(entry =>
|
||||||
EntryComponent(entry, editState.getOrElse(entry.id, false))
|
EntryComponent(entry, editState.getOrElse(entry.id, false))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue