package reading.component.widget import org.scalajs.dom import rx._ import Ctx.Owner.Unsafe._ import scalatags.JsDom.all._ import scalacss.Defaults._ import scalacss.ScalatagsCss._ import reading.component.widget.style.{ Popup => PopupStyle } import reading.component.style.{ Color => C } import reading.utils.{ RxAttr } object Popup { def apply(onClose: => Unit)(content: HtmlTag): HtmlTag = { dom.document.body.style.overflowY = "hidden" div( PopupStyle.render, PopupStyle.popup, div( PopupStyle.curtain, RxAttr(onclick, Rx(() => close(onClose))) ), div( PopupStyle.content, content, button( PopupStyle.cross, RxAttr(onclick, Rx(() => close(onClose))), Cross(20.px, C.stiletto.value) ) ) ) } private def close(onClose: => Unit): Unit = { dom.document.body.style.overflowY = "scroll" onClose } }