diff options
Diffstat (limited to 'examples/demos/src/main/scala/scrollmenu/Controller.scala')
-rw-r--r-- | examples/demos/src/main/scala/scrollmenu/Controller.scala | 110 |
1 files changed, 56 insertions, 54 deletions
diff --git a/examples/demos/src/main/scala/scrollmenu/Controller.scala b/examples/demos/src/main/scala/scrollmenu/Controller.scala index 119b8d4..cb0fc63 100644 --- a/examples/demos/src/main/scala/scrollmenu/Controller.scala +++ b/examples/demos/src/main/scala/scrollmenu/Controller.scala @@ -28,63 +28,65 @@ object Controller{ val snippets = dom.document.getElementsByClassName("highlight-me") snippets.foreach(js.Dynamic.global.hljs.highlightBlock(_)) - val scrollSpy = new ScrollSpy(structure, main) - val list = ul(cls:="menu-item-list collapsed")( - scrollSpy.domTrees.map(_.value.frag) - ).render - - def updateScroll() = scrollSpy(main.scrollTop + main.clientHeight) - val expandIcon = i(cls:="fa fa-caret-down").render - val expandLink = - a( - expandIcon, - href:="javascript:", - marginLeft:="0px", - paddingLeft:="15px", - paddingRight:="15px", - cls:="pure-menu-selected", - onclick := { (e: dom.Event) => - expandIcon.classList.toggle("fa-caret-down") - expandIcon.classList.toggle("fa-caret-up") - list.classList.toggle("collapsed") - scrollSpy.clean = !scrollSpy.clean - updateScroll() - } + def rest() = { + val scrollSpy = new ScrollSpy(structure, main) + val list = ul(cls := "menu-item-list collapsed")( + scrollSpy.domTrees.map(_.value.frag) ).render - - menu.appendChild( - div( - zIndex:=10, - position:="absolute", - cls:="pure-menu pure-menu-open", - ul(cls:="menu-item-list")( - li( - width:="43px", - float:="right", - expandLink + def updateScroll() = scrollSpy(main.scrollTop + main.clientHeight) + val expandIcon = i(cls := "fa fa-caret-down").render + val expandLink = + a( + expandIcon, + href := "javascript:", + marginLeft := "0px", + paddingLeft := "15px", + paddingRight := "15px", + cls := "pure-menu-selected", + onclick := { (e: dom.Event) => + expandIcon.classList.toggle("fa-caret-down") + expandIcon.classList.toggle("fa-caret-up") + list.classList.toggle("collapsed") + scrollSpy.clean = !scrollSpy.clean + updateScroll() + } + ).render + + + menu.appendChild( + div( + zIndex := 10, + position := "absolute", + cls := "pure-menu pure-menu-open", + ul(cls := "menu-item-list")( + li( + width := "43px", + float := "right", + expandLink + ) ) - ) - ).render - ) - - menu.appendChild( - div(cls:="pure-menu pure-menu-open")( - a(cls:="pure-menu-heading")( - "Contents" - ), - list - ).render - ) - - menuLink.onclick = (e: dom.MouseEvent) => { - layout.classList.toggle("active") - menu.classList.toggle("active") - menuLink.classList.toggle("active") + ).render + ) + + menu.appendChild( + div(cls := "pure-menu pure-menu-open")( + a(cls := "pure-menu-heading")( + "Contents" + ), + list + ).render + ) + + menuLink.onclick = (e: dom.MouseEvent) => { + layout.classList.toggle("active") + menu.classList.toggle("active") + menuLink.classList.toggle("active") + } + + main.onscroll = (e: dom.UIEvent) => updateScroll() + updateScroll() } - - main.onscroll = (e: dom.UIEvent) => updateScroll() - updateScroll() + dom.setTimeout(rest _, 10) } - } |