trait AbstractScreen extends Factory with Loggable
The trait that forms the basis for LiftScreen and the Screen instances in Wizard
- Alphabetic
- By Inheritance
- AbstractScreen
- Loggable
- Factory
- SimpleInjector
- Injector
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class AFieldBinding(binding: FieldBinding) extends FilterOrValidate[Nothing] with Product with Serializable
- Attributes
- protected
- final case class AFilter[T](f: (T) => T) extends FilterOrValidate[T] with Product with Serializable
- Attributes
- protected
- final case class AVal[T](v: (T) => List[FieldError]) extends FilterOrValidate[T] with Product with Serializable
- Attributes
- protected
- sealed trait BoxMarker extends AnyRef
- Attributes
- protected
- final case class DisplayIf(func: (BaseField) => Boolean) extends FilterOrValidate[Nothing] with Product with Serializable
- Attributes
- protected
- type Errors = List[FieldError]
- Attributes
- protected
- trait Field extends ConfirmField
A field that's part of a Screen
- class FieldBuilder[T] extends AnyRef
- Attributes
- protected
- final case class FieldTransform(func: (BaseField) => (NodeSeq) => NodeSeq) extends FilterOrValidate[Nothing] with Product with Serializable
- Attributes
- protected
- sealed trait FilterOrValidate[+T] extends AnyRef
- Attributes
- protected
- final case class FormFieldId(id: String) extends FilterOrValidate[Nothing] with Product with Serializable
- Attributes
- protected
- final case class FormParam(fp: SHtml.ElemAttr) extends FilterOrValidate[Nothing] with Product with Serializable
- Attributes
- protected
- final case class Help(ns: NodeSeq) extends FilterOrValidate[Nothing] with Product with Serializable
- Attributes
- protected
- abstract class Inject[T] extends StackableMaker[T] with Vendor[T]
- Definition Classes
- SimpleInjector
- sealed trait OtherValueInitializer[T] extends AnyRef
- Attributes
- protected
- final case class OtherValueInitializerImpl[T](f: () => T) extends OtherValueInitializer[T] with Product with Serializable
- Attributes
- protected
- abstract class FactoryMaker[T] extends StackableMaker[T] with Vendor[T]
Create an object or val that is a subclass of the FactoryMaker to generate factory for a particular class as well as define session and request specific vendors and use doWith to define the vendor just for the scope of the call.
Create an object or val that is a subclass of the FactoryMaker to generate factory for a particular class as well as define session and request specific vendors and use doWith to define the vendor just for the scope of the call.
- Definition Classes
- Factory
Abstract Value Members
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addFields(fields: () => FieldContainer): Unit
Add a FieldContainer to the Screen.
Add a FieldContainer to the Screen. A FieldContainer can contain either a single field (a BaseField) or a collection of BaseFields. The key take-away is that if the LiftScreen or Wizard is a singleton, you can still display variable number of fields by returning a variable number of BaseField instances from the FieldContainer.
WARNING -- this method is public so it can be called from a Wizard. This method should only be called from within the Screen or Wizard that owns the Screen and not from external code. - def additionalAttributes: MetaData
Any additional parameters that need to be put on the form (e.g., mime type)
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit def boxOfScreen[T <: AbstractScreen](in: T): Box[T]
- implicit def boxStrToListFieldError(msg: Box[String]): List[FieldError]
- implicit def boxXmlToListFieldError(msg: Box[NodeSeq]): List[FieldError]
- def builder[T](name: => String, default: => T, stuff: FilterOrValidate[T]*)(implicit man: Manifest[T]): FieldBuilder[T]
Create a FieldBuilder so you can add help screens, validations and filters.
Create a FieldBuilder so you can add help screens, validations and filters. Remember to invoke "make" on the returned FieldBuilder to convert it into a field
- name
- the name of the field. This is a call-by-name parameter, so you can dynamically calculate the name of the field (e.g., localize its name)
- default
- the default value of the field
- stuff
- any filter or validation functions
- Attributes
- protected
- def cancelButton: Elem
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- implicit def elemInABox(in: Elem): Box[Elem]
- Attributes
- protected
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def field[T](name: => String, default: => T, stuff: FilterOrValidate[T]*)(implicit man: Manifest[T]): Field { type ValueType = T }
Create a field with a name, default value, and
Create a field with a name, default value, and
- name
- the name of the field. This is a call-by-name parameter, so you can dynamically calculate the name of the fiels (e.g., localize its name)
- default
- the default value of the field
- Attributes
- protected
- def field[T](underlying: => Box[BaseField { type ValueType = T }], stuff: FilterOrValidate[T]*)(implicit man: Manifest[T], marker: BoxMarker): Field { type ValueType = T }
- Attributes
- protected
- def field[T](underlying: => BaseField { type ValueType = T }, stuff: FilterOrValidate[T]*)(implicit man: Manifest[T]): Field { type ValueType = T }
- Attributes
- protected
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def finishButton: Elem
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def grabParams(in: Seq[FilterOrValidate[_]]): List[SHtml.ElemAttr]
Grabs the FormFieldId and FormParam parameters
Grabs the FormFieldId and FormParam parameters
- Attributes
- protected
- def hasUploadField: Boolean
- Attributes
- protected
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- implicit def inject[T](implicit man: Manifest[T]): Box[T]
- Definition Classes
- SimpleInjector → Injector
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def localSetup(): Unit
Override this method to do any setup of this screen
Override this method to do any setup of this screen
- Attributes
- protected
- val logger: Logger
- Attributes
- protected
- Definition Classes
- Loggable
- Annotations
- @transient()
- def makeField[T, OV](theName: => String, defaultValue: => T, theToForm: (Field { ... /* 2 definitions in type refinement */ }) => Box[NodeSeq], otherValue: OtherValueInitializer[OV], stuff: FilterOrValidate[T]*): Field { ... /* 2 definitions in type refinement */ }
Create a field that's added to the Screen
Create a field that's added to the Screen
- theName
the name of the field. This is call-by-name, so you can do things like S.?("Dog's Name") such that the string will be localized
- defaultValue
the starting value for the field. This is also call-by-name which is handy for constructs like:
SomeExternalRequestVarOrSessionVar.get- theToForm
a function to convert the field into a form
- otherValue
a handy way include other values in the field. The other value is calcualted when the field is initialized. You can, for example, put a list of valid options in the field.
- stuff
a list of filters and validations for the field
- returns
a newly minted Field
- Attributes
- protected
- def maxVal[T](len: => T, msg: => String)(implicit f: (T) => Number): (T) => List[FieldError]
- Attributes
- protected
- def minVal[T](len: => T, msg: => String)(implicit f: (T) => Number): (T) => List[FieldError]
- Attributes
- protected
- def multiselect[T](name: => String, default: => Seq[T], choices: => Seq[T], stuff: FilterOrValidate[Seq[T]]*)(implicit f: SHtml.PairStringPromoter[T]): Field { ... /* 2 definitions in type refinement */ }
Create a multi select HTML element
Create a multi select HTML element
- name
the name of the field (call-by-name)
- default
the starting value of the field (call-by-name)
- choices
the possible choices for the select
- stuff
- a list of filters and validations for the field
- f
a PairStringPromoter (a wrapper around a function) that converts T => display String
- returns
a newly minted Field{type ValueType = String}
- Attributes
- protected
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def notNull: (String) => String
- Attributes
- protected
- def noticeTypeToAttr(screen: AbstractScreen): Box[(Value) => MetaData]
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def password(name: => String, defaultValue: => String, stuff: FilterOrValidate[String]*): Field { type ValueType = String }
Create a password field
Create a password field
- name
the name of the field (call-by-name)
- defaultValue
the starting value of the field (call-by-name)
- stuff
the filters, validators and attributes
- returns
a newly minted Field
- Attributes
- protected
- def radio(name: => String, default: => String, choices: => Seq[String], stuff: FilterOrValidate[String]*): Field { ... /* 2 definitions in type refinement */ }
Create a radio HTML element
Create a radio HTML element
- name
the name of the field (call-by-name)
- default
the starting value of the field (call-by-name)
- choices
the possible choices for the select
- stuff
- a list of filters and validations for the field
- returns
a newly minted Field{type ValueType = String}
- Attributes
- protected
- def registerInjection[T](f: () => T)(implicit man: Manifest[T]): Unit
- Definition Classes
- SimpleInjector
- def removeRegExChars(regEx: String): (String) => String
- Attributes
- protected
- def screenBottom: Box[Elem]
- def screenFields: List[BaseField]
A list of fields in this screen
- def screenName: String
The name of the screen.
The name of the screen. Override this to change the screen name.
- def screenNameAsHtml: NodeSeq
- def screenTitle: NodeSeq
- def screenTop: Box[Elem]
- def screenValidate: List[FieldError]
- def select[T](name: => String, default: => T, choices: => Seq[T], stuff: FilterOrValidate[T]*)(implicit f: SHtml.PairStringPromoter[T]): Field { ... /* 2 definitions in type refinement */ }
Create a select HTML element
Create a select HTML element
- name
the name of the field (call-by-name)
- default
the starting value of the field (call-by-name)
- choices
the possible choices for the select
- stuff
- a list of filters and validations for the field
- f
a PairStringPromoter (a wrapper around a function) that converts T => display String
- returns
a newly minted Field{type ValueType = String}
- Attributes
- protected
- implicit def strToListFieldError(msg: String): List[FieldError]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def text(name: => String, defaultValue: => String, stuff: FilterOrValidate[String]*): Field { type ValueType = String }
Create a text field
Create a text field
- name
the name of the field (call-by-name)
- defaultValue
the starting value of the field (call-by-name)
- stuff
the filters, validators and attributes
- returns
a newly minted Field
- Attributes
- protected
- def textarea(name: => String, defaultValue: => String, rows: Int, cols: Int, stuff: FilterOrValidate[String]*): Field { type ValueType = String }
Create a textarea field
Create a textarea field
- name
the name of the field (call-by-name)
- defaultValue
the starting value of the field (call-by-name)
- rows
the number of rows in the textarea
- cols
the number of columns in the textarea
- stuff
- a list of filters and validations for the field
- returns
a newly minted Field{type ValueType = String}
- Attributes
- protected
- def textarea(name: => String, defaultValue: => String, stuff: FilterOrValidate[String]*): Field { type ValueType = String }
Create a textarea field with 80 columns and 5 rows
Create a textarea field with 80 columns and 5 rows
- name
the name of the field (call-by-name)
- defaultValue
the starting value of the field (call-by-name)
- stuff
- a list of filters and validations for the field
- returns
a newly minted Field{type ValueType = String}
- Attributes
- protected
- def toLower: (String) => String
- Attributes
- protected
- def toString(): String
- Definition Classes
- AbstractScreen → AnyRef → Any
- def toUpper: (String) => String
- Attributes
- protected
- def trim: (String) => String
- Attributes
- protected
- def valMaxLen(len: => Int, msg: => String): (String) => List[FieldError]
A validation helper.
A validation helper. Make sure the string is no more than a particular length and generate a validation issue if not.
- Attributes
- protected
- def valMinLen(len: => Int, msg: => String): (String) => List[FieldError]
A validation helper.
A validation helper. Make sure the string is at least a particular length and generate a validation issue if not.
- Attributes
- protected
- def valRegex(pat: => Pattern, msg: => String): (String) => List[FieldError]
Make sure the field matches a regular expression
Make sure the field matches a regular expression
- Attributes
- protected
- def validate: List[FieldError]
- def validations: List[() => List[FieldError]]
- def vendForm[T](implicit man: Manifest[T]): Box[(T, (T) => Any) => NodeSeq]
- Attributes
- protected
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- implicit def xmlToListFieldError(msg: NodeSeq): List[FieldError]
- implicit object BoxMarkerObj extends BoxMarker
A little hack because => BaseField and => Box[BaseField] have the same method signature
A little hack because => BaseField and => Box[BaseField] have the same method signature
- Attributes
- protected
- object Field
- object FilterOrValidate
- Attributes
- protected
- case object NotOnConfirmScreen extends FilterOrValidate[Nothing] with Product with Serializable
Override the screen default for fields appearing on the confirm screen and force this field not to appear on the confirm screen
Override the screen default for fields appearing on the confirm screen and force this field not to appear on the confirm screen
- Attributes
- protected
- case object NothingOtherValueInitializer extends OtherValueInitializer[Nothing] with Product with Serializable
- Attributes
- protected
- case object OnConfirmScreen extends FilterOrValidate[Nothing] with Product with Serializable
Override the screen default for fields appearing on the confirm screen and force this field to appear on the confirm screen
Override the screen default for fields appearing on the confirm screen and force this field to appear on the confirm screen
- Attributes
- protected
- object currentField extends ThreadGlobal[FieldIdentifier]
- Attributes
- protected