From bbe5788cdcfbb26358566bfc74426ec38029cc73 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 25 Feb 2017 22:25:03 +0100 Subject: Add detailed book page instead of a modal. --- .../scala/reading/component/widget/Input.scala | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/main/scala/reading/component/widget/Input.scala') diff --git a/src/main/scala/reading/component/widget/Input.scala b/src/main/scala/reading/component/widget/Input.scala index 7dac47a..1a1157e 100644 --- a/src/main/scala/reading/component/widget/Input.scala +++ b/src/main/scala/reading/component/widget/Input.scala @@ -2,14 +2,15 @@ package reading.component.widget import scalatags.JsDom.all._ -import org.scalajs.dom.KeyboardEvent import org.scalajs.dom.html.Input +import org.scalajs.dom.KeyboardEvent import scalacss.Defaults._ import scalacss.ScalatagsCss._ import rx._ +import reading.component.style.{ Color => C } import reading.component.widget.style.{ Input => InputStyle } object Input { @@ -17,28 +18,38 @@ object Input { style: StyleA, query: Var[String], label: String = "", - onEnter: => Unit = () + onEnter: => Unit = (), + maxLength: Option[Int] = None )( implicit ctx: Ctx.Owner ): Frag = { val inputBox = input( - InputStyle.render, InputStyle.input, - style, placeholder := label, onkeyup := { (e: KeyboardEvent) => val input = e.target.asInstanceOf[Input] query() = input.value input.value = input.value if (e.keyCode == 13) onEnter - } + }, + maxlength := maxLength.map(_.toString).getOrElse("") ).render query.trigger { inputBox.value = query.now } - inputBox + div( + InputStyle.render, + InputStyle.parent, + style, + inputBox, + span( + InputStyle.clear, + onclick := (() => query() = ""), + Cross(15.px, C.gray.value) + ) + ) } } -- cgit v1.2.3