diff options
Diffstat (limited to 'src/main/scala/reading/Route.scala')
-rw-r--r-- | src/main/scala/reading/Route.scala | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main/scala/reading/Route.scala b/src/main/scala/reading/Route.scala index c1f993e..9295d49 100644 --- a/src/main/scala/reading/Route.scala +++ b/src/main/scala/reading/Route.scala @@ -1,6 +1,7 @@ package reading -import org.scalajs.dom +import org.scalajs.dom.window +import org.scalajs.dom.raw.PopStateEvent import scala.scalajs.js.URIUtils import rx.Var @@ -12,10 +13,10 @@ sealed trait Route object Route { case class Books(filters: Seq[Filter]) extends Route - val current: Var[Route] = Var(parse(dom.window.location.hash)) + val current: Var[Route] = Var(parse(window.location.hash)) - dom.window.onpopstate = (e: dom.raw.PopStateEvent) => { - current() = parse(dom.window.location.hash) + window.onpopstate = (e: PopStateEvent) => { + current() = parse(window.location.hash) } def parse(hash: String): Route = @@ -50,7 +51,7 @@ object Route { case Books(filters) => "/books" ++ (if (filters.nonEmpty) filters.map(filter => s"${filter.kind}=${filter.nonFormattedName}").mkString("?", "&", "") else "") case _ => "/books" } - dom.window.location.origin + dom.window.location.pathname + "#" + URIUtils.encodeURI(hash) + window.location.origin + window.location.pathname + "#" + URIUtils.encodeURI(hash) } def goTo(route: Route): Unit = { @@ -59,6 +60,6 @@ object Route { } def push(route: Route): Unit = { - dom.window.history.pushState(null, "", url(route)); + window.history.pushState(null, "", url(route)); } } |