summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorlihaoyi <haoyi.sg@gmail.com>2014-11-23 22:21:44 -0800
committerlihaoyi <haoyi.sg@gmail.com>2014-11-23 22:21:44 -0800
commit85d381c1201ff8aa798321ea9237b57464b40de9 (patch)
tree26dac3719558b66a549a7236b4c46bb5119a3cf0 /examples
parent7924069976b15ee0c535221673d89200ce3d5570 (diff)
downloadhands-on-scala-js-85d381c1201ff8aa798321ea9237b57464b40de9.tar.gz
hands-on-scala-js-85d381c1201ff8aa798321ea9237b57464b40de9.tar.bz2
hands-on-scala-js-85d381c1201ff8aa798321ea9237b57464b40de9.zip
gh links work
Diffstat (limited to 'examples')
-rw-r--r--examples/demos/src/main/scala/scrollmenu/Controller.scala2
-rw-r--r--examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala18
2 files changed, 10 insertions, 10 deletions
diff --git a/examples/demos/src/main/scala/scrollmenu/Controller.scala b/examples/demos/src/main/scala/scrollmenu/Controller.scala
index d359138..4480445 100644
--- a/examples/demos/src/main/scala/scrollmenu/Controller.scala
+++ b/examples/demos/src/main/scala/scrollmenu/Controller.scala
@@ -34,7 +34,7 @@ object Controller{
scrollSpy.domTrees.map(_.value.frag)
).render
- def updateScroll() = scrollSpy(main.scrollTop)
+ def updateScroll() = scrollSpy()
val expandIcon = i(cls := "fa fa-caret-down").render
val expandLink =
a(
diff --git a/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala b/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala
index 29c44a6..9ce9a2b 100644
--- a/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala
+++ b/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala
@@ -61,13 +61,13 @@ class ScrollSpy(structure: Tree[String],
}
- private[this] var scrolling = false
- def apply(threshold: => Double) = if (!scrolling){
- scrolling = true
- dom.setTimeout(() => start(threshold), 200)
+ private[this] var scrolling = -1
+ def apply() = {
+ dom.clearTimeout(scrolling)
+ scrolling = dom.setTimeout(() => start(), 200)
}
- private[this] def start(threshold: Double) = {
- scrolling = false
+ private[this] def start() = {
+// scrolling = false
def scroll(el: dom.Element) = {
val rect = el.getBoundingClientRect()
if (rect.top <= 0)
@@ -77,8 +77,8 @@ class ScrollSpy(structure: Tree[String],
}
def walkTree(tree: Tree[MenuNode]): Boolean = {
val Tree(MenuNode(menuItem, itemId, start, end), children) = tree
- val before = headers(start) <= threshold
- val after = (end >= headers.length) || headers(end) > threshold
+ val before = headers(start) <= main.scrollTop
+ val after = (end >= headers.length) || headers(end) > main.scrollTop
val win = before && after
@@ -97,7 +97,7 @@ class ScrollSpy(structure: Tree[String],
// aren't any children which won, so it must be the actual leaf
tree.children.foreach(_.value.frag.classList.remove("selected"))
if (dom.location.hash != itemId)
- dom.location.hash = itemId
+ dom.history.pushState(null, null, "#"+itemId)
scroll(menuItem.children(0))
}