net.liftweb.http

SHtml

trait SHtml extends AnyRef

The SHtml object defines a suite of XHTML element generator methods to simplify the creation of markup, particularly with forms and AJAX.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. SHtml
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Type Members

  1. trait AreaShape extends AnyRef

  2. case class BasicElemAttr (name: String, value: String) extends ElemAttr with Product with Serializable

    Any old attribute.

  3. case class ChoiceHolder [T] (items: Seq[ChoiceItem[T]]) extends Product with Serializable

    Holds a series of choices: HTML for input controls alongside some user defined value

  4. case class ChoiceItem [T] (key: T, xhtml: NodeSeq) extends Product with Serializable

    Holds a form control as HTML along with some user defined value

  5. case class CirclePercentShape (centerX: Int, centerY: Int, radiusPercent: Int) extends AreaShape with Product with Serializable

  6. case class CircleShape (centerX: Int, centerY: Int, radius: Int) extends AreaShape with Product with Serializable

  7. trait ElemAttr extends (Elem) ⇒ Elem

    An attribute that can be applied to an element.

  8. trait PairStringPromoter [T] extends (T) ⇒ String

    Convert a T to a String for display in Select, MultiSelect, etc.

  9. case class PolyShape (polyCoords: (Int, Int)*) extends AreaShape with Product with Serializable

  10. case class RectShape (left: Int, top: Int, right: Int, bottom: Int) extends AreaShape with Product with Serializable

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. object ChoiceHolder extends Serializable

  7. object ElemAttr extends AnyRef

    The companion object that has some very helpful conversion

  8. object PairStringPromoter extends AnyRef

    A companion object that does implicit conversions

  9. def a (body: NodeSeq, cmd: JsCmd, attrs: ElemAttr*): Elem

    Create an anchor that will run a JavaScript command when clicked

  10. def a (jsFunc: Call, body: NodeSeq, attrs: ElemAttr*)(func: ⇒ JsCmd): Elem

    Create an anchor with a body and the function to be executed when the anchor is clicked

    Create an anchor with a body and the function to be executed when the anchor is clicked

    jsFunc

    -- the user function that will be executed. This function will receive as last parameter the function that will actually do the ajax call. Hence the user function can decide when to make the ajax request.

    body

    - the NodeSeq to wrap in the anchor tag

    attrs

    - the anchor node attributes

  11. def a (body: NodeSeq, attrs: ElemAttr*)(func: ⇒ JsCmd): Elem

    Create an anchor with a body and the function to be executed when the anchor is clicked

  12. def a (func: () ⇒ JsObj, jsonContext: JsonContext, body: NodeSeq, attrs: ElemAttr*): Elem

  13. def a (jsFunc: Call, func: () ⇒ JsCmd, body: NodeSeq, attrs: ElemAttr*): Elem

    Create an anchor tag around a body which will do an AJAX call and invoke the function

    Create an anchor tag around a body which will do an AJAX call and invoke the function

    jsFunc

    -- the user function that will be executed. This function will receive as last parameter the function that will actually do the ajax call. Hence the user function can decide when to make the ajax request.

    func

    - the function to invoke when the link is clicked

    body

    - the NodeSeq to wrap in the anchor tag

    attrs

    - the anchor node attributes

  14. def a (func: () ⇒ JsCmd, body: NodeSeq, attrs: ElemAttr*): Elem

    Create an anchor tag around a body which will do an AJAX call and invoke the function

    Create an anchor tag around a body which will do an AJAX call and invoke the function

    func

    - the function to invoke when the link is clicked

    body

    - the NodeSeq to wrap in the anchor tag

    attrs

    - the anchor node attributes

  15. def ajaxButton (text: String, jsFunc: Call, func: () ⇒ JsCmd, attrs: ElemAttr*): Elem

    Create an Ajax button.

    Create an Ajax button. When it's pressed, the function is executed

    text

    -- the name/text of the button

    func

    -- the function to execute when the button is pushed. Return Noop if nothing changes on the browser.

    returns

    a button to put on your page

  16. def ajaxButton (text: String, func: () ⇒ JsCmd, attrs: ElemAttr*): Elem

    Create an Ajax button.

    Create an Ajax button. When it's pressed, the function is executed

    text

    -- the name/text of the button

    func

    -- the function to execute when the button is pushed. Return Noop if nothing changes on the browser.

    returns

    a button to put on your page

  17. def ajaxButton (text: NodeSeq, jsFunc: Call, func: () ⇒ JsCmd, attrs: ElemAttr*): Elem

    Create an Ajax button.

    Create an Ajax button. When it's pressed, the function is executed

    text

    -- the name/text of the button

    jsFunc

    -- the user function that will be executed. This function will receive as last parameter the function that will actually do the ajax call. Hence the user function can decide when to make the ajax request.

    func

    -- the function to execute when the button is pushed. Return Noop if nothing changes on the browser.

    returns

    a button to put on your pagejsFunc.params ++ List(AnonFunc(makeAjaxCall(Str(name+"=true"))))

  18. def ajaxButton (text: NodeSeq, jsExp: JsExp, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

    Create an Ajax button.

    Create an Ajax button. When it's pressed, the function is executed

    text

    -- the name/text of the button

    func

    -- the function to execute when the button is pushed. Return Noop if nothing changes on the browser.

    attrs

    -- the list of node attributes

    returns

    a button to put on your page

  19. def ajaxButton (text: NodeSeq, func: () ⇒ JsCmd, attrs: ElemAttr*): Elem

    Create an Ajax button.

    Create an Ajax button. When it's pressed, the function is executed

    text

    -- the name/text of the button

    func

    -- the function to execute when the button is pushed. Return Noop if nothing changes on the browser.

    attrs

    -- the list of node attributes

    returns

    a button to put on your page

  20. def ajaxCall (jsCalcValue: JsExp, jsContext: JsContext, func: (String) ⇒ JsCmd): (String, JsExp)

    Build a JavaScript function that will perform an AJAX call based on a value calculated in JavaScript

    Build a JavaScript function that will perform an AJAX call based on a value calculated in JavaScript

    jsCalcValue

    the JavaScript that will be executed on the client to calculate the value to be sent to the server

    jsContext

    the context instance that defines JavaScript to be executed on call success or failure

    func

    the function to call when the data is sent

    returns

    the function ID and JavaScript that makes the call

  21. def ajaxCall (jsCalcValue: JsExp, func: (String) ⇒ JsCmd): (String, JsExp)

    Build a JavaScript function that will perform an AJAX call based on a value calculated in JavaScript

    Build a JavaScript function that will perform an AJAX call based on a value calculated in JavaScript

    jsCalcValue

    the JavaScript that will be executed on the client to calculate the value to be sent to the server

    func

    the function to call when the data is sent

    returns

    the function ID and JavaScript that makes the call

  22. def ajaxCheckbox (value: Boolean, jsFunc: Call, func: (Boolean) ⇒ JsCmd, attrs: ElemAttr*): Elem

  23. def ajaxCheckbox (value: Boolean, func: (Boolean) ⇒ JsCmd, attrs: ElemAttr*): Elem

  24. def ajaxCheckboxElem (settable: Settable { type ValueType = Boolean }, jsFunc: Call, attrs: ElemAttr*): Elem

  25. def ajaxCheckboxElem (settable: Settable { type ValueType = Boolean }, attrs: ElemAttr*): Elem

  26. def ajaxEditable (displayContents: ⇒ NodeSeq, editForm: ⇒ NodeSeq, onSubmit: () ⇒ JsCmd): NodeSeq

    This method generates an AJAX editable field.

    This method generates an AJAX editable field.

    Normally, the displayContents will be shown, with an "Edit" button. If the "Edit" button is clicked, the field will be replaced with the edit form, along with an "OK" and "Cancel" button. If the OK button is pressed, the form fields are submitted and the onSubmit function is called, and then the displayContents are re-run to get a new display. If cancel is pressed then the original displayContents are re-shown.

    Note that the editForm NodeSeq is wrapped inside of an ajaxForm, so it can be comprised of normal (non-AJAX) SHtml form elements. For example:

    ajaxEditable(Test("Click me"),
                 SHtml.text("Edit me", s => println("Edited with " +s)),
                 () => { println("submitted"); Noop })
    

  27. def ajaxForm (body: NodeSeq, onSubmit: JsCmd, postSubmit: JsCmd): Elem

    Takes a form and wraps it so that it will be submitted via AJAX.

    Takes a form and wraps it so that it will be submitted via AJAX. This also takes a parameter for script code that will be executed after the form has been submitted.

    body

    The form body. This should not include the <form> tag.

    postSubmit

    Code that should be executed after a successful submission

  28. def ajaxForm (body: NodeSeq, onSubmit: JsCmd): Elem

    Takes a form and wraps it so that it will be submitted via AJAX.

    Takes a form and wraps it so that it will be submitted via AJAX.

    body

    The form body. This should not include the <form> tag.

    onSubmit

    JavaScript code to execute on the client prior to submission

  29. def ajaxForm (body: NodeSeq): Elem

    Takes a form and wraps it so that it will be submitted via AJAX.

    Takes a form and wraps it so that it will be submitted via AJAX.

    body

    The form body. This should not include the <form> tag.

  30. def ajaxInvoke (func: () ⇒ JsCmd): (String, JsExp)

  31. def ajaxRadio [T] (opts: Seq[T], deflt: Box[T], ajaxFunc: (T) ⇒ JsCmd, attrs: ElemAttr*): ChoiceHolder[T]

    Make a set of Ajax radio buttons.

    Make a set of Ajax radio buttons. When the buttons are pressed, the function is called

    opts

    -- The possible values. These are not revealed to the browser

    deflt

    -- the default button

    ajaxFunc

    -- the function to invoke when the button is pressed

  32. def ajaxSelect (opts: Seq[(String, String)], deflt: Box[String], jsFunc: Call, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  33. def ajaxSelect (opts: Seq[(String, String)], deflt: Box[String], func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  34. def ajaxSelectElem [T] (options: Seq[T], default: Box[T], jsFunc: Call, attrs: ElemAttr*)(onSubmit: (T) ⇒ JsCmd)(implicit f: PairStringPromoter[T]): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of value and text pairs (value, text to display)

    default

    -- the default value (or Empty if no default value)

    onSubmit

    -- the function to execute on form submission

  35. def ajaxSelectElem [T] (options: Seq[T], default: Box[T], attrs: ElemAttr*)(onSubmit: (T) ⇒ JsCmd)(implicit f: PairStringPromoter[T]): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of value and text pairs (value, text to display)

    default

    -- the default value (or Empty if no default value)

    onSubmit

    -- the function to execute on form submission

  36. def ajaxSelectObj [T] (options: Seq[(T, String)], default: Box[T], jsFunc: Call, onSubmit: (T) ⇒ JsCmd, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of value and text pairs (value, text to display)

    default

    -- the default value (or Empty if no default value)

    onSubmit

    -- the function to execute on form submission

  37. def ajaxSelectObj [T] (options: Seq[(T, String)], default: Box[T], onSubmit: (T) ⇒ JsCmd, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of value and text pairs (value, text to display)

    default

    -- the default value (or Empty if no default value)

    onSubmit

    -- the function to execute on form submission

  38. def ajaxSubmit (value: String, func: () ⇒ JsCmd, attrs: ElemAttr*): Elem

    Constructs an Ajax submit button that can be used inside ajax forms.

    Constructs an Ajax submit button that can be used inside ajax forms. Multiple buttons can be used in the same form.

    value

    - the button text

    func

    - the ajax function to be called

    attrs

    - button attributes

  39. def ajaxText (value: String, ignoreBlur: Boolean, jsFunc: Call, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  40. def ajaxText (value: String, ignoreBlur: Boolean, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  41. def ajaxText (value: String, jsFunc: Call, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  42. def ajaxText (value: String, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  43. def ajaxTextElem (settable: Settable { type ValueType = String }, attrs: ElemAttr*): Elem

  44. def ajaxTextarea (value: String, jsFunc: Call, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  45. def ajaxTextarea (value: String, func: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  46. def area (shape: AreaShape, func: () ⇒ JsCmd, alt: String, attrs: ElemAttr*): Elem

    Generate an Area tag

    Generate an Area tag

    shape

    - the shape of the area (RectShape, CircleShape, CirclePercentShape, PolyShape)

    func

    - The server side function to execute when the area is clicked on.

    alt

    - the contents of the alt attribute

    attrs

    - the balance of the attributes for the tag

  47. def area (shape: AreaShape, jsCmd: JsCmd, alt: String, attrs: ElemAttr*): Elem

    Generate an Area tag

    Generate an Area tag

    shape

    - the shape of the area (RectShape, CircleShape, CirclePercentShape, PolyShape)

    jsCmd

    - the JavaScript to execute on the client when the area is clicked

    alt

    - the contents of the alt attribute

    attrs

    - the balance of the attributes for the tag

  48. def area (shape: AreaShape, alt: String, attrs: ElemAttr*): Elem

    Generate an Area tag

    Generate an Area tag

    shape

    - the shape of the area (RectShape, CircleShape, CirclePercentShape, PolyShape)

    alt

    - the contents of the alt attribute

    attrs

    - the balance of the attributes for the tag

  49. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  50. def button (strOrNodeSeq: StringOrNodeSeq, func: () ⇒ Any, attrs: ElemAttr*): Elem

    Create an HTML button with strOrNodeSeq as the body.

    Create an HTML button with strOrNodeSeq as the body. The button will be type submit.

    strOrNodeSeq

    -- the String or NodeSeq (either will work just fine) to put into the body of the button

    func

    -- the function to execute when the form containing the button is posted

    attrs

    -- the attributes to append to the button

    returns

    a button HTML Element b

  51. def checkbox (value: Boolean, func: (Boolean) ⇒ Any, attrs: ElemAttr*): NodeSeq

    Defines a new checkbox set to { @code value } and running { @code func } when the checkbox is submitted.

  52. def checkbox [T] (possible: Seq[T], actual: Seq[T], func: (Seq[T]) ⇒ Any, attrs: ElemAttr*): ChoiceHolder[T]

    Generate a ChoiceHolder of possible checkbox type inputs that calls back to the given function when the form is submitted.

    Generate a ChoiceHolder of possible checkbox type inputs that calls back to the given function when the form is submitted.

    possible

    complete sequence of possible values, each a separate checkbox when rendered

    actual

    values to be preselected

    func

    function to receive all values corresponding to the checked boxes

    attrs

    sequence of attributes to apply to each checkbox input element

    returns

    ChoiceHolder containing the checkboxes and values in order

  53. def checkboxElem (settable: Settable { type ValueType = Boolean }, attrs: ElemAttr*): NodeSeq

    Defines a new checkbox for the Settable

  54. def checkbox_* (value: Boolean, func: AFuncHolder, id: Box[String], attrs: ElemAttr*): NodeSeq

  55. def checkbox_id (value: Boolean, func: (Boolean) ⇒ Any, id: Box[String], attrs: ElemAttr*): NodeSeq

    Defines a new checkbox set to { @code value } and running { @code func } when the checkbox is submitted.

    Defines a new checkbox set to { @code value } and running { @code func } when the checkbox is submitted. Has an id of { @code id }.

  56. def checkbox_id (settable: Settable { type ValueType = Boolean }, id: Box[String], attrs: ElemAttr*): NodeSeq

    Defines a new checkbox for the Settable

  57. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  58. def email (settable: Settable { type ValueType = String }, attrs: ElemAttr*): Elem

    Generate an email input element for the Settable.

    Generate an email input element for the Settable. At some point there will be graceful fallback for non-HTML5 browsers. FIXME

  59. def email (value: String, func: (String) ⇒ Any, attrs: ElemAttr*): Elem

    Generate an input field with type email.

    Generate an input field with type email. At some point, there will be graceful fallback for non-HTML5 browsers. FIXME

  60. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  61. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  62. def fajaxCall [T] (jsCalcValue: JsExp, func: (String) ⇒ JsCmd)(f: (String, JsExp) ⇒ T): T

  63. def fileUpload (func: (FileParamHolder) ⇒ Any, attrs: ElemAttr*): Elem

    Defines a form element for a file upload that will call the specified function when the file is uploaded if the file size is greater than zero.

    Defines a form element for a file upload that will call the specified function when the file is uploaded if the file size is greater than zero. Note that in order to use the fileUpload element you need to specify the multipart attribute on your snippet tag:

    <lift:Some.snippet form="POST" multipart="true">
    ...
    </lift:Some.snippet>
    

  64. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  65. def fjsonCall [T] (jsCalcValue: JsExp, jsonContext: JsonContext, func: (String) ⇒ JsObj)(f: (String, JsExp) ⇒ T): T

  66. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  67. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  68. def hidden (func: (String) ⇒ Any, defaultlValue: String, attrs: ElemAttr*): Elem

  69. def hidden (func: () ⇒ Any, attrs: ElemAttr*): Elem

  70. def hidden_* (func: AFuncHolder, attrs: ElemAttr*): Elem

  71. def hrefFunc (func: () ⇒ Any): (NodeSeq) ⇒ NodeSeq

    If you want to update the href of an <a> tag, this method returns a function that mutates the href by adding a function that will be executed when the link is clicked: "#my_link" #> SHtml.hrefFunc(() => println("howdy"))

    If you want to update the href of an <a> tag, this method returns a function that mutates the href by adding a function that will be executed when the link is clicked: "#my_link" #> SHtml.hrefFunc(() => println("howdy"))

  72. def idMemoize (f: (IdMemoizeTransform) ⇒ NodeSeqFuncOrSeqNodeSeqFunc): IdMemoizeTransform

    Memoize the NodeSeq used in apply() and then call applyAgain() in an Ajax call and you don't have to explicitly capture the template

  73. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  74. def jsonButton (text: NodeSeq, jsExp: JsExp, func: (Any) ⇒ JsObj, ajaxContext: JsonContext, attrs: ElemAttr*): Elem

    Create an Ajax buttun that when it's pressed it submits an Ajax request and expects back a JSON construct which will be passed to the success function

    Create an Ajax buttun that when it's pressed it submits an Ajax request and expects back a JSON construct which will be passed to the success function

    text

    -- the name/text of the button

    func

    -- the function to execute when the button is pushed. Return Noop if nothing changes on the browser.

    ajaxContext

    -- defines the callback functions and the JSON response type

    attrs

    -- the list of node attributes

    returns

    a button to put on your page

  75. def jsonButton (text: NodeSeq, func: () ⇒ JsObj, ajaxContext: JsonContext, attrs: ElemAttr*): Elem

    Create an Ajax buttun that when it's pressed it submits an Ajax request and expects back a JSON construct which will be passed to the success function

    Create an Ajax buttun that when it's pressed it submits an Ajax request and expects back a JSON construct which will be passed to the success function

    text

    -- the name/text of the button

    func

    -- the function to execute when the button is pushed. Return Noop if nothing changes on the browser.

    ajaxContext

    -- defines the callback functions and the JSON response type

    attrs

    -- the list of node attributes

    returns

    a button to put on your page

  76. def jsonCall (jsCalcValue: JsExp, jsonContext: JsonContext, func: (String) ⇒ JsObj): (String, JsExp)

  77. def jsonCall (jsCalcValue: JsExp, jsContext: JsContext, func: (Any) ⇒ JsCmd): (String, JsExp)

    Build a JavaScript function that will perform a JSON call based on a value calculated in JavaScript

    Build a JavaScript function that will perform a JSON call based on a value calculated in JavaScript

    jsCalcValue

    the JavaScript to calculate the value to be sent to the server

    jsContext

    the context instance that defines JavaScript to be executed on call success or failure

    func

    the function to call when the data is sent

    returns

    the function ID and JavaScript that makes the call

  78. def jsonCall (jsCalcValue: JsExp, func: (Any) ⇒ JsCmd): (String, JsExp)

    Build a JavaScript function that will perform a JSON call based on a value calculated in JavaScript

    Build a JavaScript function that will perform a JSON call based on a value calculated in JavaScript

    jsCalcValue

    the JavaScript to calculate the value to be sent to the server

    func

    the function to call when the data is sent

    returns

    the function ID and JavaScript that makes the call

  79. def jsonForm (jsonHandler: JsonHandler, onSubmit: JsCmd, body: NodeSeq): NodeSeq

    Takes a form and wraps it so that it will be submitted via AJAX and processed by a JSON handler.

    Takes a form and wraps it so that it will be submitted via AJAX and processed by a JSON handler. This can be useful if you may have dynamic client-side modification of the form (addition or removal).

    jsonHandler

    The handler that will process the form

    onSubmit

    JavaScript code that will be executed on the client prior to submitting the form

    body

    The form body. This should not include the <form> tag.

  80. def jsonForm (jsonHandler: JsonHandler, body: NodeSeq): NodeSeq

    Takes a form and wraps it so that it will be submitted via AJAX and processed by a JSON handler.

    Takes a form and wraps it so that it will be submitted via AJAX and processed by a JSON handler. This can be useful if you may have dynamic client-side modification of the form (addition or removal).

    jsonHandler

    The handler that will process the form

    body

    The form body. This should not include the <form> tag.

  81. def jsonText (value: String, cmd: String, json: JsonCall, attrs: ElemAttr*): Elem

    Create a JSON text widget that makes a JSON call on blur or "return".

    Create a JSON text widget that makes a JSON call on blur or "return".

    value

    - the initial value of the text field

    cmd

    - the json command name

    json

    - the JsonCall returned from S.buildJsonFunc

    returns

    a text field

  82. def jsonText (value: String, json: (JsExp) ⇒ JsCmd, attrs: ElemAttr*): Elem

    This function does not really submit a JSON request to server instead json is a function that allows you to build a more complex JsCmd based on the JsExp JE.JsRaw("this.value").

    This function does not really submit a JSON request to server instead json is a function that allows you to build a more complex JsCmd based on the JsExp JE.JsRaw("this.value"). This function is called by the overloaded version of jsonText.

    value

    - the initial value of the text field

    json

    - takes a JsExp which describes how to recover the value of the text field and returns a JsExp containing the thing to execute on blur/return

    returns

    a text field

  83. def jsonText (value: String, ignoreBlur: Boolean, json: (JsExp) ⇒ JsCmd, attrs: ElemAttr*): Elem

    This function does not really submit a JSON request to server instead json is a function that allows you to build a more complex JsCmd based on the JsExp JE.JsRaw("this.value").

    This function does not really submit a JSON request to server instead json is a function that allows you to build a more complex JsCmd based on the JsExp JE.JsRaw("this.value"). This function is called by the overloaded version of jsonText.

    value

    - the initial value of the text field

    ignoreBlur

    - ignore the onblur event and only do the event if the enter key is pressed

    json

    - takes a JsExp which describes how to recover the value of the text field and returns a JsExp containing the thing to execute on blur/return

    returns

    a text field

  84. def jsonTextarea (value: String, cmd: String, json: JsonCall, attrs: ElemAttr*): Elem

    Create a JSON text area widget that makes a JSON call on blur

    Create a JSON text area widget that makes a JSON call on blur

    value

    - the initial value of the text field

    cmd

    - the json command name

    json

    - the JsonCall returned from S.buildJsonFunc

    returns

    a text field

  85. def jsonTextarea (value: String, json: (JsExp) ⇒ JsCmd, attrs: ElemAttr*): Elem

    This function does not really submit a JSON request to server instead json is a function that allows you to build a more complex JsCmd based on the JsExp JE.JsRaw("this.value").

    This function does not really submit a JSON request to server instead json is a function that allows you to build a more complex JsCmd based on the JsExp JE.JsRaw("this.value"). This function is called by the overloaded version of jsonTextarea.

    value

    - the initial value of the text area field

    json

    - takes a JsExp which describes how to recover the value of the text area field and returns a JsExp containing the thing to execute on blur

    returns

    a text area field

  86. def link (to: String, func: () ⇒ Any, body: NodeSeq, attrs: ElemAttr*): Elem

    create an anchor tag around a body

    create an anchor tag around a body

    func

    - the function to invoke when the link is clicked

    body

    - the NodeSeq to wrap in the anchor tag

  87. def makeAjaxCall (in: JsExp, context: AjaxContext): JsExp

    Invokes the Ajax request

    Invokes the Ajax request

    in

    the JsExp that returns the request data

    context

    defines the response callback functions and the response type (JavaScript or JSON)

  88. def makeAjaxCall (in: JsExp): JsExp

    Invokes the Ajax request

    Invokes the Ajax request

    in

    the JsExp that returns the request data

  89. def makeFormsAjax : (NodeSeq) ⇒ NodeSeq

    Vend a function that will take all of the form elements and turns them into Ajax forms

  90. def memoize (f: ⇒ (NodeSeq) ⇒ NodeSeq): MemoizeTransform

    Memoize the NodeSeq used in apply() and then call applyAgain() in an Ajax call and you don't have to explicitly capture the template

  91. def multiSelect (opts: Seq[(String, String)], deflt: Seq[String], func: (List[String]) ⇒ Any, attrs: ElemAttr*): Elem

  92. def multiSelectElem [T] (options: Seq[T], default: Seq[T], attrs: ElemAttr*)(onSubmit: (List[T]) ⇒ Any)(implicit f: PairStringPromoter[T]): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of value and text pairs (value, text to display)

    default

    -- the default value (or Empty if no default value)

    onSubmit

    -- the function to execute on form submission

  93. def multiSelectObj [T] (options: Seq[(T, String)], default: Seq[T], onSubmit: (List[T]) ⇒ Any, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of value and text pairs (value, text to display)

    default

    -- the default value (or Empty if no default value)

    onSubmit

    -- the function to execute on form submission

  94. def multiSelect_* (opts: Seq[(String, String)], deflt: Seq[String], func: AFuncHolder, attrs: ElemAttr*): Elem

  95. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  96. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  97. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  98. def number (settable: Settable { type ValueType = Int }, min: Int, max: Int, attrs: ElemAttr*): Elem

    Generate a number input element for the Settable.

    Generate a number input element for the Settable. At some point there will be graceful fallback for non-HTML5 browsers. FIXME

  99. def number (value: Int, func: (Int) ⇒ Any, min: Int, max: Int, attrs: ElemAttr*): Elem

    Generate an input field with type number.

    Generate an input field with type number. At some point, there will be graceful fallback for non-HTML5 browsers. FIXME

  100. def onEvent (func: (String) ⇒ JsCmd): (String, JsExp)

    Create something that's bindable to an event attribute and when the event happens, the command will fire: "input [onblur]" #> SHtml.onEvent(s => Alert("Thanks: "+s))

  101. def onEvents (event: String, events: String*)(func: (String) ⇒ JsCmd): (NodeSeq) ⇒ NodeSeq

    Specify the events (e.

    Specify the events (e.g., onblur, onchange, etc.) and the function to execute on those events. Returns a NodeSeq => NodeSeq that will add the events to all the Elements ":text" #> SHtml.onEvents("onchange", "onblur")(s => Alert("yikes "+s))

  102. def onSubmit (func: (String) ⇒ Any): (NodeSeq) ⇒ NodeSeq

    execute the String function when the form is submitted.

    execute the String function when the form is submitted. This method returns a function that can be applied to form fields (input, button, textarea, select) and the function is executed when the form containing the field is submitted.

  103. def onSubmitBoolean (func: (Boolean) ⇒ Any): (NodeSeq) ⇒ NodeSeq

    Execute the Boolean function when the form is submitted.

    Execute the Boolean function when the form is submitted. This method returns a function that can be applied to form fields (input, button, textarea, select) and the function is executed when the form containing the field is submitted.

  104. def onSubmitImpl (func: AFuncHolder): (NodeSeq) ⇒ NodeSeq

    Execute the function when the form is submitted.

    Execute the function when the form is submitted. This method returns a function that can be applied to form fields (input, button, textarea, select) and the function is executed when the form containing the field is submitted.

  105. def onSubmitList (func: (List[String]) ⇒ Any): (NodeSeq) ⇒ NodeSeq

    execute the List[String] function when the form is submitted.

    execute the List[String] function when the form is submitted. This method returns a function that can be applied to form fields (input, button, textarea, select) and the function is executed when the form containing the field is submitted.

  106. def onSubmitUnit (func: () ⇒ Any): (NodeSeq) ⇒ NodeSeq

    execute the function when the form is submitted.

    execute the function when the form is submitted. This method returns a function that can be applied to form fields (input, button, textarea, select) and the function is executed when the form containing the field is submitted.

  107. def password (value: String, func: (String) ⇒ Any, attrs: ElemAttr*): Elem

  108. def passwordElem (settable: Settable { type ValueType = String }, attrs: ElemAttr*): Elem

  109. def password_* (value: String, func: AFuncHolder, attrs: ElemAttr*): Elem

  110. def radio (opts: Seq[String], deflt: Box[String], func: (String) ⇒ Any, attrs: ElemAttr*): ChoiceHolder[String]

  111. def radioElem [T] (opts: Seq[T], deflt: Box[T], attrs: ElemAttr*)(onSubmit: (Box[T]) ⇒ Any): ChoiceHolder[T]

    Generate a collection or radio box items from a sequence of things

  112. def radio_* (opts: Seq[String], deflt: Box[String], func: AFuncHolder, attrs: ElemAttr*): ChoiceHolder[String]

  113. def range (settable: Settable { type ValueType = Int }, min: Int, max: Int, attrs: ElemAttr*): Elem

    Generate a range input element for the Settable.

    Generate a range input element for the Settable. At some point there will be graceful fallback for non-HTML5 browsers. FIXME

  114. def range (value: Int, func: (Int) ⇒ Any, min: Int, max: Int, attrs: ElemAttr*): Elem

    Generate an input field with type range.

    Generate an input field with type range. At some point, there will be graceful fallback for non-HTML5 browsers. FIXME

  115. def select (opts: Seq[(String, String)], deflt: Box[String], func: (String) ⇒ Any, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    opts

    -- the options. A list of value and text pairs (value, text to display)

    deflt

    -- the default value (or Empty if no default value)

    func

    -- the function to execute on form submission

  116. def selectElem [T] (options: Seq[T], settable: LiftValue[T], attrs: ElemAttr*)(implicit f: PairStringPromoter[T]): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of values

    attrs

    -- the attributes to append to the resulting Elem, these may be name-value pairs (static attributes) or special HTML5 ElemAtts

    f

    -- the function that converts a T to a Display String.

  117. def selectElem [T] (options: Seq[T], default: Box[T], attrs: ElemAttr*)(onSubmit: (T) ⇒ Any)(implicit f: PairStringPromoter[T]): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of values

    default

    -- the default value (or Empty if no default value)

    attrs

    -- the attributes to append to the resulting Elem, these may be name-value pairs (static attributes) or special HTML5 ElemAtts

    onSubmit

    -- the function to execute on form submission

    f

    -- the function that converts a T to a Display String.

  118. def selectObj [T] (options: Seq[(T, String)], default: Box[T], onSubmit: (T) ⇒ Any, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    options

    -- a list of value and text pairs (value, text to display)

    default

    -- the default value (or Empty if no default value)

    onSubmit

    -- the function to execute on form submission

  119. def select_* (opts: Seq[(String, String)], deflt: Box[String], func: AFuncHolder, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission

    Create a select box based on the list with a default value and the function to be executed on form submission

    opts

    -- the options. A list of value and text pairs

    deflt

    -- the default value (or Empty if no default value)

    func

    -- the function to execute on form submission

  120. def span (body: NodeSeq, cmd: JsCmd, attrs: ElemAttr*): Elem

    Create a span that will run a JavaScript command when clicked

  121. def submit (value: String, func: () ⇒ Any, attrs: ElemAttr*): Elem

    Generates a form submission button.

    Generates a form submission button.

    value

    The label for the button

    func

    The function that will be executed on form submission

    attrs

    Optional XHTML element attributes that will be applied to the button

  122. def submitAjaxForm (formId: String, postSubmit: Call): JsCmd

    Having a regular form, this method can be used to send the serialized content of the form.

    Having a regular form, this method can be used to send the serialized content of the form.

    postSubmit

    - the function that needs to be called after a successfull request

  123. def submitAjaxForm (formId: String, func: () ⇒ JsCmd): JsCmd

    Submits a form denominated by a formId and execute the func function after form fields functions are executed.

  124. def submitAjaxForm (formId: String): JsCmd

    Having a regular form, this method can be used to send the serialized content of the form.

  125. def submitButton (func: () ⇒ Any, attrs: ElemAttr*): Elem

    Generates a form submission button with a default label.

    Generates a form submission button with a default label.

    func

    The function that will be executed on form submission

    attrs

    Optional XHTML element attributes that will be applied to the button

  126. def submitJsonForm (jsonHandler: JsonHandler, formId: String): JsCmd

    Having a regular form, this method can be used to send the content of the form as JSON.

    Having a regular form, this method can be used to send the content of the form as JSON. the request will be processed by the jsonHandler

    jsonHandler

    - the handler that process this request

  127. def submit_* (value: String, func: AFuncHolder, attrs: ElemAttr*): Elem

  128. def swappable (shown: Elem, hidden: (String) ⇒ Elem): Elem

  129. def swappable (shown: Elem, hidden: Elem): Elem

    Build a swappable visual element.

    Build a swappable visual element. If the shown element is clicked on, it turns into the hidden element and when the hidden element blurs, it swaps into the shown element.

  130. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  131. def text (value: String, func: (String) ⇒ Any, attrs: ElemAttr*): Elem

  132. def textAjaxTest (value: String, func: (String) ⇒ Any, ajaxTest: Box[(String) ⇒ JsCmd], attrs: ElemAttr*): Elem

  133. def textAjaxTest (value: String, func: (String) ⇒ Any, ajaxTest: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  134. def textElem (settable: Settable { type ValueType = String }, attrs: ElemAttr*): Elem

    Generate an input element for the Settable

  135. def text_* (value: String, func: AFuncHolder, ajaxTest: Box[(String) ⇒ JsCmd], attrs: ElemAttr*): Elem

  136. def text_* (value: String, ignoreBlur: Boolean, func: AFuncHolder, ajaxTest: Box[(String) ⇒ JsCmd], attrs: ElemAttr*): Elem

  137. def text_* (value: String, func: AFuncHolder, ajaxTest: (String) ⇒ JsCmd, attrs: ElemAttr*): Elem

  138. def text_* (value: String, func: AFuncHolder, attrs: ElemAttr*): Elem

  139. def textarea (value: String, func: (String) ⇒ Any, attrs: ElemAttr*): Elem

  140. def textareaElem (settable: Settable { type ValueType = String }, attrs: ElemAttr*): Elem

  141. def textarea_* (value: String, func: AFuncHolder, attrs: ElemAttr*): Elem

  142. def toString (): String

    Definition Classes
    AnyRef → Any
  143. def toggleKids (head: Elem, visible: Boolean, func: () ⇒ JsCmd, kids: Elem): NodeSeq

  144. def untrustedMultiSelect (opts: Seq[(String, String)], deflt: Seq[String], func: (List[String]) ⇒ Any, attrs: ElemAttr*): NodeSeq

    Create a multiple select box based on the list with a default value and the function to be executed on form submission.

    Create a multiple select box based on the list with a default value and the function to be executed on form submission. No check is made to see if the resulting value was in the original list. For use with DHTML form updating.

    opts

    -- the options. A list of value and text pairs

    deflt

    -- the default value (or Empty if no default value)

    func

    -- the function to execute on form submission

  145. def untrustedMultiSelect_* (opts: Seq[(String, String)], deflt: Seq[String], lf: AFuncHolder, attrs: ElemAttr*): NodeSeq

    Create a multiple select box based on the list with a default value and the function to be executed on form submission.

    Create a multiple select box based on the list with a default value and the function to be executed on form submission. No check is made to see if the resulting value was in the original list. For use with DHTML form updating.

    opts

    -- the options. A list of value and text pairs

    deflt

    -- the default value (or Empty if no default value)

  146. def untrustedSelect (opts: Seq[(String, String)], deflt: Box[String], func: (String) ⇒ Any, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission.

    Create a select box based on the list with a default value and the function to be executed on form submission. No check is made to see if the resulting value was in the original list. For use with DHTML form updating.

    opts

    -- the options. A list of value and text pairs

    deflt

    -- the default value (or Empty if no default value)

    func

    -- the function to execute on form submission

  147. def untrustedSelect_* (opts: Seq[(String, String)], deflt: Box[String], func: AFuncHolder, attrs: ElemAttr*): Elem

    Create a select box based on the list with a default value and the function to be executed on form submission.

    Create a select box based on the list with a default value and the function to be executed on form submission. No check is made to see if the resulting value was in the original list. For use with DHTML form updating.

    opts

    -- the options. A list of value and text pairs

    deflt

    -- the default value (or Empty if no default value)

    func

    -- the function to execute on form submission

  148. def url (settable: Settable { type ValueType = String }, attrs: ElemAttr*): Elem

    Generate a url input element for the Settable.

    Generate a url input element for the Settable. At some point there will be graceful fallback for non-HTML5 browsers. FIXME

  149. def url (value: String, func: (String) ⇒ Any, attrs: ElemAttr*): Elem

    Generate an input field with type url.

    Generate an input field with type url. At some point, there will be graceful fallback for non-HTML5 browsers. FIXME

  150. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  151. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  152. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  153. def ajaxForm (onSubmit: JsCmd, body: NodeSeq): Elem

    Takes a form and wraps it so that it will be submitted via AJAX.

    Takes a form and wraps it so that it will be submitted via AJAX.

    onSubmit

    JavaScript code to execute on the client prior to submission

    body

    The form body. This should not include the <form> tag.

    Deprecated

    Use ajaxForm(NodeSeq,JsCmd) instead

Inherited from AnyRef

Inherited from Any