package udash
- Alphabetic
- By Inheritance
- udash
- 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
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 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
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
-
type
DefaultViewPresenterFactory[S <: State] = udash.core.StaticViewFactory[S]
- Annotations
- @deprecated
- Deprecated
(Since version 0.6.0) Renamed to
StaticViewFactory
.
-
type
StrictLogging = udash.utils.StrictLogging
- Annotations
- @deprecated
- Deprecated
(Since version 0.6.0) Use
io.udash.logging.CrossLogging
instead.
-
type
ViewPresenter[S <: State] = udash.core.ViewFactory[S]
- Annotations
- @deprecated
- Deprecated
(Since version 0.6.0) Use
ContainerViewFactory
,FinalViewFactory
orViewFactory
instead.
-
type
ViewPresenterRegistry[HierarchyRoot <: State] = udash.core.ViewFactoryRegistry[HierarchyRoot]
- Annotations
- @deprecated
- Deprecated
(Since version 0.6.0) Renamed to
ViewFactoryRegistry
.
Value Members
-
val
CallbackSequencer: udash.properties.CallbackSequencer.type
- Definition Classes
- Properties
-
val
CheckButtons: udash.bindings.inputs.CheckButtons.type
- Definition Classes
- Bindings
-
val
Checkbox: udash.bindings.inputs.Checkbox.type
- Definition Classes
- Bindings
-
val
DefaultValidationError: udash.properties.DefaultValidationError.type
- Definition Classes
- Properties
-
val
FileInput: udash.bindings.inputs.FileInput.type
- Definition Classes
- Bindings
- val FileUploader: udash.utils.FileUploader.type
-
val
Invalid: udash.properties.Invalid.type
- Definition Classes
- Properties
-
val
ModelProperty: udash.properties.model.ModelProperty.type
- Definition Classes
- Properties
-
val
NumberInput: udash.bindings.inputs.NumberInput.type
- Definition Classes
- Bindings
-
val
PasswordInput: udash.bindings.inputs.PasswordInput.type
- Definition Classes
- Bindings
-
val
Property: udash.properties.single.Property.type
- Definition Classes
- Properties
-
val
RadioButtons: udash.bindings.inputs.RadioButtons.type
- Definition Classes
- Bindings
-
val
Select: udash.bindings.inputs.Select.type
- Definition Classes
- Bindings
-
val
SeqProperty: udash.properties.seq.SeqProperty.type
- Definition Classes
- Properties
-
val
TextArea: udash.bindings.inputs.TextArea.type
- Definition Classes
- Bindings
-
val
TextInput: udash.bindings.inputs.TextInput.type
- Definition Classes
- Bindings
- val Url: udash.core.Url.type
-
val
Valid: udash.properties.Valid.type
- Definition Classes
- Properties
-
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
-
def
emptyStringNode(): Node
Creates empty text node, which is useful as placeholder.
Creates empty text node, which is useful as placeholder.
- Definition Classes
- Bindings
-
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], (Binding) ⇒ Binding) ⇒ 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], (Binding) ⇒ Binding) ⇒ 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, (Binding) ⇒ Binding) ⇒ 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, (Binding) ⇒ Binding) ⇒ 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], (Binding) ⇒ Binding) ⇒ 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, (Binding) ⇒ Binding) ⇒ 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, (Binding) ⇒ Binding) ⇒ Seq[Node], progressBuilder: (Future[udash.properties.ValidationResult], (Binding) ⇒ Binding) ⇒ Seq[Node] = null, errorBuilder: (Throwable, (Binding) ⇒ Binding) ⇒ 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
Deprecated Value Members
-
lazy val
Window: udash.core.Window.type
- Annotations
- @deprecated
- Deprecated
(Since version 0.7.0) The application should not directly depend on URL fragment.
-
def
bindAttribute[T](property: udash.properties.single.ReadableProperty[T])(updater: (T, Element) ⇒ Any): Binding
Use it to update DOM elements, on every
property
change.Use it to update DOM elements, on every
property
change.- property
Property to listen.
- updater
Element attribute updater.
- returns
Modifier for bounded property.
- Definition Classes
- Bindings
- Annotations
- @deprecated
- Deprecated
(Since version 0.4.0) Use
Attr.bind
,AttrPair.attrIf
orProperty.reactiveApply
instead.
-
def
bindValidation[A](property: udash.properties.single.ReadableProperty[A], initBuilder: (Future[udash.properties.ValidationResult]) ⇒ Seq[Element], completeBuilder: (udash.properties.ValidationResult) ⇒ Seq[Element], errorBuilder: (Throwable) ⇒ Seq[Element]): 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.
- initBuilder
Builder which is called when validation process is started. It will also give you an access to future of validation results.
- completeBuilder
Builder which is called when validation process is completed. It will give an access to validation results.
- errorBuilder
Builder which is called, when validation process fails.
- returns
Modifier for validation logic.
- Definition Classes
- Bindings
- Annotations
- @deprecated
- Deprecated
(Since version 0.4.0) Use
valid
instead.