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. class ApplicableElem extends AnyRef

  2. trait AreaShape extends AnyRef

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

    Any old attribute.

  4. final 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

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

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

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

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

  8. trait ElemAttr extends (Elem) ⇒ Elem

    An attribute that can be applied to an element.

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

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

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

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

Value Members

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

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

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

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

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

    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 that when pressed, executes the function

    Create an Ajax button that when pressed, executes the 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.

    returns

    a button to put on your page

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

    Create an Ajax button that when pressed, executes the function

    Create an Ajax button that when pressed, executes the 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.

    returns

    a button to put on your page

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

    Create an Ajax button that when pressed, executes the function

    Create an Ajax button that when pressed, executes the function

    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 that when pressed, executes the function

    Create an Ajax button that when pressed, executes the 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.

    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): GUIDJsExp

    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): GUIDJsExp

    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 ajaxEditableSelect(opts: Seq[(String, String)], deflt: Box[String], f: (String) ⇒ 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 with an additional selection that transforms select into an ajaxText allowing the user to add a new select option

  28. 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

  29. 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

  30. 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.

  31. def ajaxInvoke(func: () ⇒ JsCmd): GUIDJsExp

  32. 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

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

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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

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

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

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

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

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

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

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

  47. def ajaxUntrustedSelect(opts: Seq[(String, String)], deflt: Box[String], jsFunc: Call, func: (String) ⇒ JsCmd, attrs: (String, String)*): 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)

    jsFunc

    -- user provided function

    func

    -- the function to execute on form submission

    attrs

    -- select box attributes

  48. def ajaxUntrustedSelect(opts: Seq[(String, String)], deflt: Box[String], func: (String) ⇒ JsCmd, attrs: (String, String)*): 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

    attrs

    -- select box attributes

  49. 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

  50. 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

  51. 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

  52. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  53. 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

  54. 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.

  55. 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

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

    Defines a new checkbox for the Settable

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

  58. 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 }.

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

    Defines a new checkbox for the Settable

  60. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  61. implicit def elemToApplicable(e: Elem): ApplicableElem

  62. 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

  63. 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

  64. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  65. def equals(arg0: Any): Boolean

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

  67. 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>
    

  68. def finalize(): Unit

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

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

    Definition Classes
    AnyRef → Any
  71. def hashCode(): Int

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

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

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

  75. 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"))

  76. 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

  77. final def isInstanceOf[T0]: Boolean

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

    Create an Ajax button that when pressed, submits an Ajax request and expects back a JSON construct which will be passed to the success function

    Create an Ajax button that when pressed, 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

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

    Create an Ajax button that when pressed, submits an Ajax request and expects back a JSON construct which will be passed to the success function

    Create an Ajax button that when pressed, 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

  80. def jsonCall(jsCalcValue: JsExp, jsonContext: JsonContext, func: (JValue) ⇒ JValue): GUIDJsExp

    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.

    The JSON generated by func will be returned to the client and passed as argument to the javascript function specified in jsonContext.success

    jsCalcValue

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

    jsonContext

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

    func

    the function to call when the JSON data is sent. The returned JSON is sent back to the client

    returns

    the function ID and JavaScript that makes the call

  81. def jsonCall(jsCalcValue: JsExp, jsContext: JsContext, func: (JValue) ⇒ JsCmd): GUIDJsExp

    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. This method uses the Lift-JSON package rather than the old, slow, not-typed JSONParser. This is the preferred way to do client to server JSON calls.

    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

  82. def jsonCall(jsCalcValue: JsExp, func: (JValue) ⇒ JsCmd): GUIDJsExp

    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. This method uses the Lift-JSON package rather than the old, slow, not-typed JSONParser. This is the preferred way to do client to server JSON calls.

    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

  83. 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.

  84. 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.

  85. 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

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

    This function does not really submit a JSON request to the server.

    This function does not really submit a JSON request to the 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

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

    This function does not really submit a JSON request to the server.

    This function does not really submit a JSON request to the 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

  88. 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

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

    This function does not really submit a JSON request to the server.

    This function does not really submit a JSON request to the 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

  90. 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

  91. 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)

  92. def makeAjaxCall(in: JsExp): JsExp

    Invokes the Ajax request

    Invokes the Ajax request

    in

    the JsExp that returns the request data

  93. def makeFormsAjax: (NodeSeq) ⇒ NodeSeq

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

  94. 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

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

  96. 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

  97. 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

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

  99. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  100. final def notify(): Unit

    Definition Classes
    AnyRef
  101. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  102. def number(settable: Settable { type ValueType = Double }, min: Double, max: Double, step: Double, attrs: ElemAttr*): Elem

    Generate a number input element for the Settable.

    Generate a number input element for the Settable. It allows for Double if your step is for example: 0.1 At some point there will be graceful fallback for non-HTML5 browsers. FIXME

  103. def number(value: Double, func: (Double) ⇒ Any, min: Double, max: Double, step: Double, attrs: ElemAttr*): Elem

    Generate an input field with type number.

    Generate an input field with type number. It allows for Double if your step is for example: 0.1 At some point, there will be graceful fallback for non-HTML5 browsers. FIXME

  104. 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

  105. 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

  106. def onEvent(func: (String) ⇒ JsCmd): GUIDJsExp

    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))

  107. 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))

  108. 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.

  109. 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.

  110. 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.

  111. 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.

  112. 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.

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

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

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

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

  117. 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

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

  119. 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

  120. 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

  121. 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

  122. 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.

  123. 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.

  124. 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

  125. 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

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

    Create a span that will run a JavaScript command when clicked

  127. 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

  128. 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.

    formId

    - the id of the form

    postSubmit

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

  129. 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.

  130. def submitAjaxForm(formId: String): 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.

    formId

    - the id of the form

  131. 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

  132. 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

    formId

    - the id of the form

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

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

  135. 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.

  136. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Generate an input element for the Settable

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

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

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

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

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

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

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

  148. def toString(): String

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

  150. 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

  151. 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)

  152. 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

  153. 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

  154. 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

  155. 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

  156. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. 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

  2. def jsonCall(jsCalcValue: JsExp, jsonContext: JsonContext, func: (String) ⇒ JsObj)(implicit d: AvoidTypeErasureIssues1): GUIDJsExp

    Annotations
    @deprecated
    Deprecated

    (Since version 2.5) Use jsonCall with a function that takes JValue => JValue

  3. def jsonCall(jsCalcValue: JsExp, jsContext: JsContext, func: (Any) ⇒ JsCmd)(implicit d: AvoidTypeErasureIssues1): GUIDJsExp

    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

    Annotations
    @deprecated
    Deprecated

    (Since version 2.5) Use jsonCall with a function that takes JValue => JsCmd

  4. def jsonCall(jsCalcValue: JsExp, func: (Any) ⇒ JsCmd)(implicit d: AvoidTypeErasureIssues1): GUIDJsExp

    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

    Annotations
    @deprecated
    Deprecated

    (Since version 2.5) Use jsonCall with a function that takes JValue => JsCmd

Inherited from AnyRef

Inherited from Any