ngTags: ngKeyDown/Up/Press, type annotations
authorTomas Zeman <tzeman@volny.cz>
Fri, 13 Oct 2017 13:50:00 +0200
changeset 44 4acbd9c0ce05
parent 43 7a5f3e314547
child 45 11b9a322f7fe
ngTags: ngKeyDown/Up/Press, type annotations
shared/src/main/scala/ngTags.scala
--- a/shared/src/main/scala/ngTags.scala	Thu Aug 31 15:11:52 2017 +0200
+++ b/shared/src/main/scala/ngTags.scala	Fri Oct 13 13:50:00 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015-2016 Tomas Zeman <tzeman@volny.cz>
+ * Copyright 2015-2017 Tomas Zeman <tzeman@volny.cz>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,61 +15,68 @@
  */
 package net.tz.ngtags
 
+import scalatags.Text.TypedTag
 import scalatags.Text.all._
 
 object ngTags {
   def i18n(s: String): String = s"{{'$s' | translate}}"
   def interpolate(s: String) = s"{{$s}}"
-  def isOpen(expr: String) = attr("is-open"):=expr
+  def isOpen(expr: String): Modifier = attr("is-open"):=expr
 
-  val ngAlert = tag("alert")
+  val ngAlert: TypedTag[String] = tag("alert")
   val ngApp: Attr = attr("ng-app")
-  def ngBindHtml(safe: String) = attr("ng-bind-html"):=safe
-  def ngChange(expr: String) = attr("ng-change"):=expr
-  def ngClick(expr: String) = attr("ng-click"):=expr
-  val ngCloak = tag("ng-cloak")
-  def ngCls(expr: String) = attr("ng-class"):=expr
-  def ngCtrl(c: String) = attr("ng-controller"):=c
-  def ngDisabled(expr: String) = attr("ng-disabled"):=expr
-  def ngHide(expr: String) = attr("ng-hide"):=expr
-  def ngHref(expr: String) = attr("ng-href"):=interpolate(expr)
-  def ngIf(expr: String) = attr("ng-if"):=expr
-  val ngInclude = attr("ng-include")
-  def ngInit(expr: String) = attr("ng-init"):=expr
+  def ngBindHtml(safe: String): Modifier = attr("ng-bind-html"):=safe
+  def ngChange(expr: String): Modifier = attr("ng-change"):=expr
+  def ngClick(expr: String): Modifier = attr("ng-click"):=expr
+  val ngCloak: TypedTag[String] = tag("ng-cloak")
+  def ngCls(expr: String): Modifier = attr("ng-class"):=expr
+  def ngCtrl(c: String): Modifier = attr("ng-controller"):=c
+  def ngDisabled(expr: String): Modifier = attr("ng-disabled"):=expr
+  def ngHide(expr: String): Modifier = attr("ng-hide"):=expr
+  def ngHref(expr: String): Modifier = attr("ng-href"):=interpolate(expr)
+  def ngIf(expr: String): Modifier = attr("ng-if"):=expr
+  val ngInclude: Attr = attr("ng-include")
+  def ngInit(expr: String): Modifier = attr("ng-init"):=expr
+
+  def ngKeyDown(expr: String): Modifier = attr("ng-keydown"):=expr
+  def ngKeyPress(expr: String): Modifier = attr("ng-keypress"):=expr
+  def ngKeyUp(expr: String): Modifier = attr("ng-keyup"):=expr
 
-  def ngMessage(strVal: String) = attr("ng-message"):=strVal
-  def ngMessageExp(expr: String) = attr("ng-message-exp"):=expr
-  def ngMessages(expr: String) = attr("ng-messages"):=expr
+  def ngMessage(strVal: String): Modifier = attr("ng-message"):=strVal
+  def ngMessageExp(expr: String): Modifier = attr("ng-message-exp"):=expr
+  def ngMessages(expr: String): Modifier = attr("ng-messages"):=expr
 
-  def ngModel(expr: String) = attr("ng-model"):=expr
-  def ngModelOptions(expr: String) = attr("ng-model-options"):=expr
+  def ngModel(expr: String): Modifier = attr("ng-model"):=expr
+  def ngModelOptions(expr: String): Modifier = attr("ng-model-options"):=expr
 
-  def ngOptions(expr: String) = attr("ng-options"):=expr
+  def ngOptions(expr: String): Modifier = attr("ng-options"):=expr
 
-  def ngReadonly(expr: String) = attr("ng-readonly"):=expr
+  def ngReadonly(expr: String): Modifier = attr("ng-readonly"):=expr
 
-  def ngRepeat(name: String, list: String) = attr("ng-repeat"):=s"$name in $list"
-  def ngRepeatStart(n: String, l: String) = attr("ng-repeat-start"):=s"$n in $l"
-  val ngRepeatEnd = attr("ng-repeat-end").empty
+  def ngRepeat(name: String, list: String): Modifier =
+    attr("ng-repeat"):=s"$name in $list"
+  def ngRepeatStart(n: String, l: String): Modifier =
+    attr("ng-repeat-start"):=s"$n in $l"
+  val ngRepeatEnd: Modifier = attr("ng-repeat-end").empty
 
-  def ngSrc(expr: String) = attr("ng-src"):=expr
-  def ngShow(expr: String) = attr("ng-show"):=expr
-  def ngStyle(s: String) = attr("ng-style"):=s
-  def ngValue(expr: String) = attr("ng-value"):=expr
-  val ngView = tag("ng-view")
+  def ngSrc(expr: String): Modifier = attr("ng-src"):=expr
+  def ngShow(expr: String): Modifier = attr("ng-show"):=expr
+  def ngStyle(s: String): Modifier = attr("ng-style"):=s
+  def ngValue(expr: String): Modifier = attr("ng-value"):=expr
+  val ngView: TypedTag[String] = tag("ng-view")
 
-  val translateAttr = attr("translate")
+  val translateAttr: Attr = attr("translate")
 }
 
 object uiSelect {
-  val uiSelect = tag("ui-select")
-  val uiSelectMatch = tag("ui-select-match")
-  val uiSelectChoices = tag("ui-select-choices")
-  def theme(t: String) = attr("theme"):=t
-  def repeat(n: String, col: String) = attr("repeat"):=s"$n in $col"
-  def onSelect(fun: String) = attr("on-select"):=fun
-  def onRemove(fun: String) = attr("on-remove"):=fun
-  def allowClear(b: Boolean) = attr("allow-clear"):=b
+  val uiSelect: TypedTag[String] = tag("ui-select")
+  val uiSelectMatch: TypedTag[String] = tag("ui-select-match")
+  val uiSelectChoices: TypedTag[String] = tag("ui-select-choices")
+  def theme(t: String): Modifier = attr("theme"):=t
+  def repeat(n: String, col: String): Modifier = attr("repeat"):=s"$n in $col"
+  def onSelect(fun: String): Modifier = attr("on-select"):=fun
+  def onRemove(fun: String): Modifier = attr("on-remove"):=fun
+  def allowClear(b: Boolean): Modifier = attr("allow-clear"):=b
 }
 
 // vim: set ts=2 sw=2 et: