package udash
- Alphabetic
- By Inheritance
- udash
- Components
- Routing
- Properties
- Bindings
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
class
Application[HierarchyRoot >: Null <: GState[HierarchyRoot]] extends CrossLogging
Root application which is used to start single instance of app.
Root application which is used to start single instance of app.
- HierarchyRoot
Should be a sealed trait which extends io.udash.core.State.
-
type
Blank[T] = udash.properties.Blank[T]
- Definition Classes
- Properties
-
type
CallbackSequencer = udash.properties.CallbackSequencer
- Definition Classes
- Properties
-
type
CastableProperty[A] = udash.properties.single.CastableProperty[A]
- Definition Classes
- Properties
-
type
CastableReadableProperty[A] = udash.properties.single.CastableReadableProperty[A]
- Definition Classes
- Properties
-
type
Component = udash.component.Component
- Definition Classes
- Components
-
type
ComponentId = udash.component.ComponentId
- Definition Classes
- Components
- type ContainerState = udash.core.ContainerState
- type ContainerView = udash.core.ContainerView
- type ContainerViewFactory[S <: ContainerState] = udash.core.ContainerViewFactory[S]
-
type
DefaultValidationError = udash.properties.DefaultValidationError
- Definition Classes
- Properties
- type EmptyPresenter[S <: State] = udash.core.EmptyPresenter[S]
- type FileUploader = udash.utils.FileUploader
- type FinalState = udash.core.FinalState
- type FinalView = udash.core.FinalView
- type FinalViewFactory[S <: FinalState] = udash.core.FinalViewFactory[S]
- type GState[HRoot <: State] = udash.core.State { type HierarchyRoot = HRoot }
- type HasModelPropertyCreator[T] = udash.properties.HasModelPropertyCreator[T]
-
type
Listenable[ComponentType <: Listenable[ComponentType, _], EventType <: ListenableEvent[ComponentType]] = udash.component.Listenable[ComponentType, EventType]
- Definition Classes
- Components
-
type
ListenableEvent[ComponentType <: Listenable[ComponentType, _]] = udash.component.ListenableEvent[ComponentType]
- Definition Classes
- Components
-
type
ModelProperty[A] = udash.properties.model.ModelProperty[A]
- Definition Classes
- Properties
-
type
Patch[+P <: ReadableProperty[_]] = udash.properties.seq.Patch[P]
- Definition Classes
- Properties
- type Presenter[S <: State] = udash.core.Presenter[S]
-
type
Property[A] = udash.properties.single.Property[A]
- Definition Classes
- Properties
-
type
ReadableModelProperty[A] = udash.properties.model.ReadableModelProperty[A]
- Definition Classes
- Properties
-
type
ReadableProperty[A] = udash.properties.single.ReadableProperty[A]
- Definition Classes
- Properties
-
type
ReadableSeqProperty[A] = udash.properties.seq.ReadableSeqProperty[A, _ <: ReadableProperty[A]]
- Definition Classes
- Properties
- type Registration = udash.utils.Registration
-
type
RoutingEngine[S >: Null <: GState[S]] = udash.routing.RoutingEngine[S]
- Definition Classes
- Routing
- type RoutingRegistry[HierarchyRoot <: State] = udash.routing.RoutingRegistry[HierarchyRoot]
-
type
SeqProperty[A] = udash.properties.seq.SeqProperty[A, _ <: Property[A]]
- Definition Classes
- Properties
- type State = udash.core.State
- type StaticViewFactory[S <: State] = udash.core.StaticViewFactory[S]
- type Url = udash.core.Url
-
type
UrlChangeProvider = udash.routing.UrlChangeProvider
- Definition Classes
- Routing
-
type
ValidationError = udash.properties.ValidationError
- Definition Classes
- Properties
-
type
ValidationResult = udash.properties.ValidationResult
- Definition Classes
- Properties
-
type
Validator[T] = udash.properties.Validator[T]
- Definition Classes
- Properties
- type View = udash.core.View
- type ViewFactory[S <: State] = udash.core.ViewFactory[S]
- type ViewFactoryRegistry[HierarchyRoot <: State] = udash.core.ViewFactoryRegistry[HierarchyRoot]
- type ViewRenderer = udash.view.ViewRenderer
-
implicit
class
InlineStyleOps[T] extends AnyRef
- Definition Classes
- Bindings
Value Members
-
final
val
Blank: udash.properties.Blank.type
- Definition Classes
- Properties
-
final
val
CallbackSequencer: udash.properties.CallbackSequencer.type
- Definition Classes
- Properties
-
final
val
CheckButtons: udash.bindings.inputs.CheckButtons.type
- Definition Classes
- Bindings
-
final
val
Checkbox: udash.bindings.inputs.Checkbox.type
- Definition Classes
- Bindings
-
val
ComponentId: udash.component.ComponentId.type
- Definition Classes
- Components
-
final
val
DefaultValidationError: udash.properties.DefaultValidationError.type
- Definition Classes
- Properties
-
final
val
FileInput: udash.bindings.inputs.FileInput.type
- Definition Classes
- Bindings
- final val FileUploader: udash.utils.FileUploader.type
-
final
val
Invalid: udash.properties.Invalid.type
- Definition Classes
- Properties
-
final
val
ModelProperty: udash.properties.model.ModelProperty.type
- Definition Classes
- Properties
-
final
val
NumberInput: udash.bindings.inputs.NumberInput.type
- Definition Classes
- Bindings
-
final
val
PasswordInput: udash.bindings.inputs.PasswordInput.type
- Definition Classes
- Bindings
-
final
val
Property: udash.properties.single.Property.type
- Definition Classes
- Properties
-
final
val
RadioButtons: udash.bindings.inputs.RadioButtons.type
- Definition Classes
- Bindings
-
final
val
RangeInput: udash.bindings.inputs.RangeInput.type
- Definition Classes
- Bindings
-
final
val
Select: udash.bindings.inputs.Select.type
- Definition Classes
- Bindings
-
final
val
SeqProperty: udash.properties.seq.SeqProperty.type
- Definition Classes
- Properties
-
final
val
TextArea: udash.bindings.inputs.TextArea.type
- Definition Classes
- Bindings
-
final
val
TextInput: udash.bindings.inputs.TextInput.type
- Definition Classes
- Bindings
- final val Url: udash.core.Url.type
-
final
val
Valid: udash.properties.Valid.type
- Definition Classes
- Properties
-
final
val
WindowUrlFragmentChangeProvider: udash.routing.WindowUrlFragmentChangeProvider.type
- Definition Classes
- Routing
-
final
val
WindowUrlPathChangeProvider: udash.routing.WindowUrlPathChangeProvider.type
- Definition Classes
- Routing
-
implicit
def
any2ModelProperty[A](value: A)(implicit arg0: ModelPropertyCreator[A]): Any2ModelProperty[A]
- Definition Classes
- Properties
-
implicit
def
any2Property[A](value: A): Any2Property[A]
- Definition Classes
- Properties
-
implicit
def
any2SeqProperty[A](value: Seq[A]): Any2SeqProperty[A]
- Definition Classes
- Properties
-
def
bind[T](property: udash.properties.single.ReadableProperty[T]): Binding
Use it to bind value of property into DOM structure.
Use it to bind value of property into DOM structure. Value of the property will be rendered as text node. (Using .toString method.) If property value is null, empty text node will be added.
- property
Property to bind.
- returns
Modifier for bound property.
- Definition Classes
- Bindings
-
implicit
def
booleanProp2BooleanOpsProperty(value: Property[Boolean]): BooleanPropertyOps
- Definition Classes
- Properties
-
def
emptyStringNode(): Node
Creates empty text node, which is useful as placeholder.
Creates empty text node, which is useful as placeholder.
- Definition Classes
- Bindings
-
implicit
val
idAttrValue: GenericAttr[ComponentId]
- Definition Classes
- Components
-
def
produce[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]], customElementsReplace: ReplaceMethod)(builder: (Seq[T]) ⇒ Seq[Node]): Binding
Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change.Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change. Notice that on every property change, whole element representing property will be rendered again.- property
Property to bind.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- builder
Element builder which will be used to create HTML element. Seq passed to the builder can not be null.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
produce[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]])(builder: (Seq[T]) ⇒ Seq[Node]): Binding
Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change.Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change. Notice that on every property change, whole element representing property will be rendered again.- property
Property to bind.
- builder
Element builder which will be used to create HTML element. Seq passed to the builder can not be null.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
produce[T](property: udash.properties.single.ReadableProperty[T], checkNull: Boolean = true)(builder: (T) ⇒ Seq[Node]): Binding
Use it to bind property into DOM structure, given
builder
will be used to generate DOM element on every value change.Use it to bind property into DOM structure, given
builder
will be used to generate DOM element on every value change. If property value is null, empty text node will be added as placeholder.- property
Property to bind.
- checkNull
If it is true, then null value of property will result in rendering empty text node. If it is false, then null value has to be handled by builder.
- builder
Element builder which will be used to create HTML element.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
produceWithNested[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]], customElementsReplace: ReplaceMethod)(builder: (Seq[T], NestedInterceptor) ⇒ Seq[Node]): Binding
Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change.Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change. Notice that on every property change, whole element representing property will be rendered again.The builder takes nested bindings interceptor - it should be used if you want to create another binding inside this builder. This prevents memory leaks by killing nested bindings on property change.
- property
Property to bind.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- builder
Element builder which will be used to create HTML element. Seq passed to the builder can not be null.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
produceWithNested[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]])(builder: (Seq[T], NestedInterceptor) ⇒ Seq[Node]): Binding
Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change.Use it to bind sequence property into DOM structure, given
builder
will be used to generate DOM element on every value change. Notice that on every property change, whole element representing property will be rendered again.The builder takes nested bindings interceptor - it should be used if you want to create another binding inside this builder. This prevents memory leaks by killing nested bindings on property change.
- property
Property to bind.
- builder
Element builder which will be used to create HTML element. Seq passed to the builder can not be null.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
produceWithNested[T](property: udash.properties.single.ReadableProperty[T], customElementsReplace: ReplaceMethod, checkNull: Boolean)(builder: (T, NestedInterceptor) ⇒ Seq[Node]): Binding
Use it to bind property into DOM structure, given
builder
will be used to generate DOM element on every value change.Use it to bind property into DOM structure, given
builder
will be used to generate DOM element on every value change. If property value is null, empty text node will be added as placeholder.The builder takes nested bindings interceptor - it should be used if you want to create another binding inside this builder. This prevents memory leaks by killing nested bindings on property change.
For example:
produceWithNested(property) { case (data, nested) => div(data, nested(produce(anotherProperty) { innerData => span(innerData).render }) ).render }
- property
Property to bind.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- checkNull
If it is true, then null value of property will result in rendering empty text node. If it is false, then null value has to be handled by builder.
- builder
Element builder which will be used to create HTML element.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
produceWithNested[T](property: udash.properties.single.ReadableProperty[T], checkNull: Boolean = true)(builder: (T, NestedInterceptor) ⇒ Seq[Node]): Binding
Use it to bind property into DOM structure, given
builder
will be used to generate DOM element on every value change.Use it to bind property into DOM structure, given
builder
will be used to generate DOM element on every value change. If property value is null, empty text node will be added as placeholder.The builder takes nested bindings interceptor - it should be used if you want to create another binding inside this builder. This prevents memory leaks by killing nested bindings on property change.
For example:
produceWithNested(property) { case (data, nested) => div(data, nested(produce(anotherProperty) { innerData => span(innerData).render }) ).render }
- property
Property to bind.
- checkNull
If it is true, then null value of property will result in rendering empty text node. If it is false, then null value has to be handled by builder.
- builder
Element builder which will be used to create HTML element.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
implicit
def
propertySeq2SeqProperty[A](value: com.avsystem.commons.ISeq[Property[A]]): PropertySeq2SeqProperty[A]
- Definition Classes
- Properties
-
def
queuedNode(component: ⇒ Seq[Node], timeout: Int = 0): Modifier[Element]
Renders component with provided timeout.
Renders component with provided timeout. It's useful to render heavy components after displaying the main view.
- Definition Classes
- Bindings
-
def
repeat[T, E <: udash.properties.single.ReadableProperty[T]](property: udash.properties.seq.ReadableSeqProperty[T, E], customElementsReplace: ReplaceMethod = ..., customElementsInsert: InsertMethod = DOMManipulator.DefaultElementInsert)(builder: (E) ⇒ Seq[Node]): Binding
Use it to bind sequence property into DOM structure.
Use it to bind sequence property into DOM structure. This method cares about adding new elements which appears in sequence and also removes those which were removed. You only need to provide builder which is used to create HTML element for each sequence member.
Note: This will handle only structure changes, if you want to handle concrete subproperties changes, you should use another binding method insidebuilder
.- property
Property to bind.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- customElementsInsert
Takes root element, ref node and new children. It should return
true
, if it does not insert elements in DOM. Is such a case the default implementation will insert the elements. Otherwise you have to insert elements in DOM manually.- builder
Builder which is used for every element.
- returns
Modifier for repeat logic.
- Definition Classes
- Bindings
-
def
repeatWithIndex[T, E <: udash.properties.single.ReadableProperty[T]](property: udash.properties.seq.ReadableSeqProperty[T, E], customElementsReplace: ReplaceMethod = ..., customElementsInsert: InsertMethod = DOMManipulator.DefaultElementInsert)(builder: (E, udash.properties.single.ReadableProperty[Int], NestedInterceptor) ⇒ Seq[Node]): Binding
Use it to bind sequence property into DOM structure.
Use it to bind sequence property into DOM structure. This method cares about adding new elements which appears in sequence and also removes those which were removed. You only need to provide builder which is used to create HTML element for each sequence member. This modifier provides also property with element index in sequence.
Note: This will handle only structure changes, if you want to handle concrete subproperties changes, you should use another binding method insidebuilder
.The builder takes nested bindings interceptor - it should be used if you want to create another binding inside this builder. This prevents memory leaks by killing nested bindings on property change.
- property
Property to bind.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- customElementsInsert
Takes root element, ref node and new children. It should return
true
, if it does not insert elements in DOM. Is such a case the default implementation will insert the elements. Otherwise you have to insert elements in DOM manually.- builder
Builder which is used for every element.
- returns
Modifier for repeat logic.
- Definition Classes
- Bindings
-
def
repeatWithNested[T, E <: udash.properties.single.ReadableProperty[T]](property: udash.properties.seq.ReadableSeqProperty[T, E], customElementsReplace: ReplaceMethod = ..., customElementsInsert: InsertMethod = DOMManipulator.DefaultElementInsert)(builder: (E, NestedInterceptor) ⇒ Seq[Node]): Binding
Use it to bind sequence property into DOM structure.
Use it to bind sequence property into DOM structure. This method cares about adding new elements which appears in sequence and also removes those which were removed. You only need to provide builder which is used to create HTML element for each sequence member.
Note: This will handle only structure changes, if you want to handle concrete subproperties changes, you should use another binding method insidebuilder
.The builder takes nested bindings interceptor - it should be used if you want to create another binding inside this builder. This prevents memory leaks by killing nested bindings on property change.
- property
Property to bind.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- customElementsInsert
Takes root element, ref node and new children. It should return
true
, if it does not insert elements in DOM. Is such a case the default implementation will insert the elements. Otherwise you have to insert elements in DOM manually.- builder
Builder which is used for every element.
- returns
Modifier for repeat logic.
- Definition Classes
- Bindings
-
implicit
def
seqFromElement(el: Element): Seq[Element]
- Definition Classes
- Bindings
-
implicit
def
seqFromNode(el: Node): Seq[Node]
- Definition Classes
- Bindings
-
implicit
def
seqNodeFromOpt[T](el: Opt[T])(implicit ev: (T) ⇒ Modifier[Element]): Modifier[Element]
- Definition Classes
- Bindings
-
def
showIf(property: udash.properties.single.ReadableProperty[Boolean], customElementsReplace: ReplaceMethod)(elements: Seq[Node]): Binding
Shows provided DOM elements only if property value is
true
.Shows provided DOM elements only if property value is
true
.- property
Property to check.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- elements
Elements to show if property value is
true
.- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
showIf(property: udash.properties.single.ReadableProperty[Boolean])(elements: Seq[Node]): Binding
Shows provided DOM elements only if property value is
true
.Shows provided DOM elements only if property value is
true
.- property
Property to check.
- elements
Elements to show if property value is
true
.- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
showIfElse(property: udash.properties.single.ReadableProperty[Boolean], customElementsReplace: ReplaceMethod)(elements: Seq[Node], elseElements: Seq[Node]): Binding
Switches provided DOM elements depending on property value.
Switches provided DOM elements depending on property value.
- property
Property to check.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- elements
Elements to show if property value is
true
.- elseElements
Elements to show if property value is
false
.- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
def
showIfElse(property: udash.properties.single.ReadableProperty[Boolean])(elements: Seq[Node], elseElements: Seq[Node]): Binding
Switches provided DOM elements depending on property value.
Switches provided DOM elements depending on property value.
- property
Property to check.
- elements
Elements to show if property value is
true
.- elseElements
Elements to show if property value is
false
.- returns
Modifier for bounded property.
- Definition Classes
- Bindings
-
implicit
def
toAttrOps(attr: Attr): AttrOps
- Definition Classes
- Bindings
-
implicit
def
toAttrPairOps(attr: AttrPair[Element, _]): AttrPairOps
- Definition Classes
- Bindings
-
implicit
def
toPropertyOps[T](property: udash.properties.single.ReadableProperty[T]): PropertyOps[T]
- Definition Classes
- Bindings
-
def
valid[A](property: udash.properties.single.ReadableProperty[A])(completeBuilder: (udash.properties.ValidationResult) ⇒ Seq[Node], progressBuilder: (Future[udash.properties.ValidationResult]) ⇒ Seq[Node] = null, errorBuilder: (Throwable) ⇒ Seq[Node] = null): Binding
Use in order to add validation logic over property.
Use in order to add validation logic over property. As this modifier listens on property validation results, user is able to customize what HTML elements should be shown.
- property
Property to bind.
- completeBuilder
Builder which is called when validation process is completed. It will give an access to validation results.
- progressBuilder
Builder which is called when validation process is started. It will also give you an access to future of validation results.
- errorBuilder
Builder which is called, when validation process fails.
- returns
Modifier for validation logic.
- Definition Classes
- Bindings
-
def
validWithNested[A](property: udash.properties.single.ReadableProperty[A])(completeBuilder: (udash.properties.ValidationResult, NestedInterceptor) ⇒ Seq[Node], progressBuilder: (Future[udash.properties.ValidationResult], NestedInterceptor) ⇒ Seq[Node] = null, errorBuilder: (Throwable, NestedInterceptor) ⇒ Seq[Node] = null, customElementsReplace: ReplaceMethod = ...): Binding
Use in order to add validation logic over property.
Use in order to add validation logic over property. As this modifier listens on property validation results, user is able to customize what HTML elements should be shown.
The builders take nested bindings interceptor - it should be used if you want to create another binding inside this builder. This prevents memory leaks by killing nested bindings on property change.
- property
Property to bind.
- completeBuilder
Builder which is called when validation process is completed. It will give an access to validation results.
- progressBuilder
Builder which is called when validation process is started. It will also give you an access to future of validation results.
- errorBuilder
Builder which is called, when validation process fails.
- customElementsReplace
Takes root element, old children and new children. It should return
true
, if it did not replace elements in DOM. Is such a case the default implementation will replace the elements. Otherwise you have to replace elements in DOM manually.- returns
Modifier for validation logic.
- Definition Classes
- Bindings