Navbar.scala 684 B

12345678910111213141516171819202122232425262728293031
  1. package com.weEat.modules
  2. import mhtml.{Rx,Cancelable}
  3. import com.weEat.view.View
  4. case class Navbar(nav: Rx[Seq[View]]) extends Module {
  5. private var lastCancelable: Option[Cancelable] = None
  6. def renderView(view: View) = {
  7. lastCancelable.foreach(_.cancel)
  8. lastCancelable = Some(view.present())
  9. ()
  10. }
  11. val render = {
  12. <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
  13. {
  14. nav.map({
  15. for (view <- _) yield {
  16. <li class={if (false) "nav-item active" else "nav-item"}>
  17. <a class="nav-link" href="#" onclick={() =>
  18. renderView(view)
  19. }>{view.title}</a>
  20. </li>
  21. }
  22. })
  23. }
  24. </ul>
  25. }
  26. }