Package

io

udash

Permalink

package udash

Linear Supertypes
Routing, Properties, Bindings, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. udash
  2. Routing
  3. Properties
  4. Bindings
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class Application[HierarchyRoot <: GState[HierarchyRoot]] extends CrossLogging

    Permalink

    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.

  2. type CallbackSequencer = udash.properties.CallbackSequencer

    Permalink
    Definition Classes
    Properties
  3. type CastableProperty[A] = udash.properties.single.CastableProperty[A]

    Permalink
    Definition Classes
    Properties
  4. type CastableReadableProperty[A] = udash.properties.single.CastableReadableProperty[A]

    Permalink
    Definition Classes
    Properties
  5. type ContainerState = udash.core.ContainerState

    Permalink
  6. type ContainerView = udash.core.ContainerView

    Permalink
  7. type ContainerViewFactory[S <: ContainerState] = udash.core.ContainerViewFactory[S]

    Permalink
  8. type DefaultValidationError = udash.properties.DefaultValidationError

    Permalink
    Definition Classes
    Properties
  9. type EmptyPresenter[S <: State] = udash.core.EmptyPresenter[S]

    Permalink
  10. type FileUploader = udash.utils.FileUploader

    Permalink
  11. type FinalState = udash.core.FinalState

    Permalink
  12. type FinalView = udash.core.FinalView

    Permalink
  13. type FinalViewFactory[S <: FinalState] = udash.core.FinalViewFactory[S]

    Permalink
  14. type GState[HRoot <: State] = udash.core.State { type HierarchyRoot = HRoot }

    Permalink
  15. type HasModelPropertyCreator[T] = udash.properties.HasModelPropertyCreator[T]

    Permalink
  16. type ModelProperty[A] = udash.properties.model.ModelProperty[A]

    Permalink
    Definition Classes
    Properties
  17. type Patch[+P <: ReadableProperty[_]] = udash.properties.seq.Patch[P]

    Permalink
    Definition Classes
    Properties
  18. type Presenter[S <: State] = udash.core.Presenter[S]

    Permalink
  19. type Property[A] = udash.properties.single.Property[A]

    Permalink
    Definition Classes
    Properties
  20. type ReadableModelProperty[A] = udash.properties.model.ReadableModelProperty[A]

    Permalink
    Definition Classes
    Properties
  21. type ReadableProperty[A] = udash.properties.single.ReadableProperty[A]

    Permalink
    Definition Classes
    Properties
  22. type ReadableSeqProperty[A] = udash.properties.seq.ReadableSeqProperty[A, _ <: ReadableProperty[A]]

    Permalink
    Definition Classes
    Properties
  23. type Registration = udash.utils.Registration

    Permalink
  24. type RoutingEngine[S <: GState[S]] = udash.routing.RoutingEngine[S]

    Permalink
    Definition Classes
    Routing
  25. type RoutingRegistry[HierarchyRoot <: State] = udash.core.RoutingRegistry[HierarchyRoot]

    Permalink
  26. type SeqProperty[A] = udash.properties.seq.SeqProperty[A, _ <: Property[A]]

    Permalink
    Definition Classes
    Properties
  27. type State = udash.core.State

    Permalink
  28. type StaticViewFactory[S <: State] = udash.core.StaticViewFactory[S]

    Permalink
  29. type Url = udash.core.Url

    Permalink
  30. type UrlChangeProvider = udash.routing.UrlChangeProvider

    Permalink
    Definition Classes
    Routing
  31. type ValidationError = udash.properties.ValidationError

    Permalink
    Definition Classes
    Properties
  32. type ValidationResult = udash.properties.ValidationResult

    Permalink
    Definition Classes
    Properties
  33. type Validator[T] = udash.properties.Validator[T]

    Permalink
    Definition Classes
    Properties
  34. type View = udash.core.View

    Permalink
  35. type ViewFactory[S <: State] = udash.core.ViewFactory[S]

    Permalink
  36. type ViewFactoryRegistry[HierarchyRoot <: State] = udash.core.ViewFactoryRegistry[HierarchyRoot]

    Permalink
  37. type ViewRenderer = udash.view.ViewRenderer

    Permalink
  38. type DefaultViewPresenterFactory[S <: State] = udash.core.StaticViewFactory[S]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.6.0) Renamed to StaticViewFactory.

  39. type StrictLogging = udash.utils.StrictLogging

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.6.0) Use io.udash.logging.CrossLogging instead.

  40. type ViewPresenter[S <: State] = udash.core.ViewFactory[S]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.6.0) Use ContainerViewFactory, FinalViewFactory or ViewFactory instead.

  41. type ViewPresenterRegistry[HierarchyRoot <: State] = udash.core.ViewFactoryRegistry[HierarchyRoot]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.6.0) Renamed to ViewFactoryRegistry.

Value Members

  1. val CallbackSequencer: udash.properties.CallbackSequencer.type

    Permalink
    Definition Classes
    Properties
  2. val CheckButtons: udash.bindings.CheckButtons.type

    Permalink
    Definition Classes
    Bindings
  3. val Checkbox: udash.bindings.Checkbox.type

    Permalink
    Definition Classes
    Bindings
  4. val DefaultValidationError: udash.properties.DefaultValidationError.type

    Permalink
    Definition Classes
    Properties
  5. val FileInput: udash.bindings.FileInput.type

    Permalink
    Definition Classes
    Bindings
  6. val FileUploader: udash.utils.FileUploader.type

    Permalink
  7. val Invalid: udash.properties.Invalid.type

    Permalink
    Definition Classes
    Properties
  8. val ModelProperty: udash.properties.model.ModelProperty.type

    Permalink
    Definition Classes
    Properties
  9. val NumberInput: udash.bindings.NumberInput.type

    Permalink
    Definition Classes
    Bindings
  10. val PasswordInput: udash.bindings.PasswordInput.type

    Permalink
    Definition Classes
    Bindings
  11. val Property: udash.properties.single.Property.type

    Permalink
    Definition Classes
    Properties
  12. val RadioButtons: udash.bindings.RadioButtons.type

    Permalink
    Definition Classes
    Bindings
  13. val Select: udash.bindings.Select.type

    Permalink
    Definition Classes
    Bindings
  14. val SeqProperty: udash.properties.seq.SeqProperty.type

    Permalink
    Definition Classes
    Properties
  15. val TextArea: udash.bindings.TextArea.type

    Permalink
    Definition Classes
    Bindings
  16. val TextInput: udash.bindings.TextInput.type

    Permalink
    Definition Classes
    Bindings
  17. val Url: udash.core.Url.type

    Permalink
  18. val Valid: udash.properties.Valid.type

    Permalink
    Definition Classes
    Properties
  19. val Window: udash.core.Window.type

    Permalink
  20. def bind[T](property: udash.properties.single.ReadableProperty[T]): Binding

    Permalink

    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
  21. package bindings

    Permalink
  22. package core

    Permalink
  23. def emptyStringNode(): Node

    Permalink

    Creates empty text node, which is useful as placeholder.

    Creates empty text node, which is useful as placeholder.

    Definition Classes
    Bindings
  24. def produce[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]], customElementsReplace: ReplaceMethod)(builder: (Seq[T]) ⇒ Seq[Node]): Binding

    Permalink

    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
  25. def produce[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]])(builder: (Seq[T]) ⇒ Seq[Node]): Binding

    Permalink

    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
  26. def produce[T](property: udash.properties.single.ReadableProperty[T], checkNull: Boolean = true)(builder: (T) ⇒ Seq[Node]): Binding

    Permalink

    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
  27. def produceWithNested[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]], customElementsReplace: ReplaceMethod)(builder: (Seq[T], (Binding) ⇒ Binding) ⇒ Seq[Node]): Binding

    Permalink

    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
  28. def produceWithNested[T](property: udash.properties.seq.ReadableSeqProperty[T, _ <: udash.properties.single.ReadableProperty[T]])(builder: (Seq[T], (Binding) ⇒ Binding) ⇒ Seq[Node]): Binding

    Permalink

    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
  29. def produceWithNested[T](property: udash.properties.single.ReadableProperty[T], customElementsReplace: ReplaceMethod, checkNull: Boolean)(builder: (T, (Binding) ⇒ Binding) ⇒ Seq[Node]): Binding

    Permalink

    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
  30. def produceWithNested[T](property: udash.properties.single.ReadableProperty[T], checkNull: Boolean = true)(builder: (T, (Binding) ⇒ Binding) ⇒ Seq[Node]): Binding

    Permalink

    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
  31. def queuedNode(component: ⇒ Seq[Node], timeout: Int = 0): Modifier[Element]

    Permalink

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

    Permalink

    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 inside builder.

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

    Permalink

    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 inside builder.

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

    Permalink

    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 inside builder.

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

    Permalink
  36. implicit def seqFromElement(el: Element): Seq[Element]

    Permalink
    Definition Classes
    Bindings
  37. implicit def seqFromNode(el: Node): Seq[Node]

    Permalink
    Definition Classes
    Bindings
  38. def showIf(property: udash.properties.single.ReadableProperty[Boolean], customElementsReplace: ReplaceMethod)(elements: Seq[Node]): Binding

    Permalink

    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
  39. def showIf(property: udash.properties.single.ReadableProperty[Boolean])(elements: Seq[Node]): Binding

    Permalink

    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
  40. def showIfElse(property: udash.properties.single.ReadableProperty[Boolean], customElementsReplace: ReplaceMethod)(elements: Seq[Node], elseElements: Seq[Node]): Binding

    Permalink

    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
  41. def showIfElse(property: udash.properties.single.ReadableProperty[Boolean])(elements: Seq[Node], elseElements: Seq[Node]): Binding

    Permalink

    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
  42. implicit def toAttrOps(attr: Attr): AttrOps

    Permalink
    Definition Classes
    Bindings
  43. implicit def toAttrPairOps(attr: AttrPair[Element, _]): AttrPairOps

    Permalink
    Definition Classes
    Bindings
  44. implicit def toPropertyOps[T](property: udash.properties.single.ReadableProperty[T]): PropertyOps[T]

    Permalink
    Definition Classes
    Bindings
  45. package utils

    Permalink
  46. def valid[A](property: udash.properties.single.ReadableProperty[A])(completeBuilder: (ValidationResult) ⇒ Seq[Node], progressBuilder: (Future[ValidationResult]) ⇒ Seq[Node] = null, errorBuilder: (Throwable) ⇒ Seq[Node] = null): Binding

    Permalink

    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
  47. def validWithNested[A](property: udash.properties.single.ReadableProperty[A])(completeBuilder: (ValidationResult, (Binding) ⇒ Binding) ⇒ Seq[Node], progressBuilder: (Future[ValidationResult], (Binding) ⇒ Binding) ⇒ Seq[Node] = null, errorBuilder: (Throwable, (Binding) ⇒ Binding) ⇒ Seq[Node] = null, customElementsReplace: ReplaceMethod = ...): Binding

    Permalink

    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

  1. def bindAttribute[T](property: udash.properties.single.ReadableProperty[T])(updater: (T, Element) ⇒ Any): Binding

    Permalink

    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 or Property.reactiveApply instead.

  2. def bindValidation[A](property: udash.properties.single.ReadableProperty[A], initBuilder: (Future[ValidationResult]) ⇒ Seq[Element], completeBuilder: (ValidationResult) ⇒ Seq[Element], errorBuilder: (Throwable) ⇒ Seq[Element]): Binding

    Permalink

    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.

Inherited from Routing

Inherited from Properties

Inherited from Bindings

Inherited from AnyRef

Inherited from Any

Ungrouped