Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- implicit val backend = FetchMonixBackend()
- val handlerTask = Handler.createF[Task, String]("empty")
- // val consumer: Consumer.Sync[Task[String], HtmlVNode] =
- // Consumer.foldLeft(ul()) { (ul, tStr: Task[String]) =>
- // ul.append(tStr.runToFuture)
- // }
- def toIO[T](task: monix.eval.Task[T]) =
- IO.deferAction(implicit s => IO.from(task))
- def toTask[T](bio: monix.bio.IO[Throwable, T]) =
- monix.eval.Task.deferAction(implicit s => bio.to[monix.eval.Task])
- def request(query: String) = basicRequest
- .get(uri"https://jsonplaceholder.typicode.com/todos/1")
- .send()
- .flatMap { r =>
- r.body match {
- case Right(value) =>
- // Console.out.println(value)
- me.Task(println(value)) >>
- me.Task(value)
- case Left(error) =>
- me.Task(println(error)) >>
- me.Task(error)
- }
- };
- val component = Task.deferAction(implicit s =>
- for {
- handler <- handlerTask
- res <- Task(
- div(
- "input",
- input(
- typ := "text",
- onInput.value --> handler
- ),
- div(
- handler
- .doOnNext(str => me.Task(println(str)))
- .mapEval(query => (request(query)))
- .map(_ => div("hello"))
- )
- )
- )
- } yield res
- )
- // later on
- OutWatch
- .renderInto(
- el,
- div(
- div(
- cls := "four wide column",
- ul(
- li(router.link("/")("Home")),
- li(router.link("/some-page")("SomePage")),
- li(router.link("/user/0")("User Home")),
- li(router.link("/todomvc")("TodoMvc"))
- )
- ),
- counterComponent,
- router.render(resolver),
- router.watch(),
- component
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement