Store

trait Store[F[_], Dom, A, Self <: ([G[_], B] =>> Store[G, Dom, B, Self])] extends DomZipper[F, Dom, A, Self]
trait DomZipper[F, Dom, A, Self]
class Object
trait Matchable
class Any
trait WithStore[F, Dom, A, Self]
trait DomZippersFastAndSlow[F, Dom, A]

Type members

Types

final protected type Peek[B] = Pos => B
protected type Pos

Value members

Abstract methods

protected def newStore[B](pos: Pos, peek: () => B): Self[F, B]
protected def peek: () => A
protected def pos: Pos

Concrete methods

final override def duplicate: Self[F, Self[F, A]]
Definition Classes
final override def extend[B](f: Self[F, A] => B): Self[F, B]
Definition Classes
final override def extract: A
Definition Classes
final override def map[B](f: A => B): Self[F, B]
Definition Classes
final protected def newStore[B](peek: () => B): Self[F, B]

Inherited methods

final def apply(name: String, sel: String): F[Self[F, A]]
Inherited from:
DomZipper
final def apply(sel: String, which: MofN): F[Self[F, A]]
Inherited from:
DomZipper
final def apply(sel: String): F[Self[F, A]]
Inherited from:
DomZipper
def apply(name: String, sel: String, which: MofN): F[Self[F, A]]
Inherited from:
DomZipper
def checked: F[Boolean]
Inherited from:
DomZipper
final def child(name: String, sel: String): F[Self[F, A]]
Inherited from:
DomZipper
final def child(sel: String, which: MofN): F[Self[F, A]]
Inherited from:
DomZipper
final def child(which: MofN): F[Self[F, A]]
Inherited from:
DomZipper
final def child(sel: String): F[Self[F, A]]
Inherited from:
DomZipper
def child(name: String, sel: String, which: MofN): F[Self[F, A]]
Inherited from:
DomZipper
def children01(sel: String): DomCollection[Self, F, Option, Dom, A]
Inherited from:
DomZipper
def children01: DomCollection[Self, F, Option, Dom, A]
Inherited from:
DomZipper
def children0n(sel: String): DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
def children0n: DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
def children1n(sel: String): DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
def children1n: DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
def classes: Set[String]
Inherited from:
DomZipper
def collect01(sel: String): DomCollection[Self, F, Option, Dom, A]
Inherited from:
DomZipper
def collect0n(sel: String): DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
def collect1n(sel: String): DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
def count(sel: String): Int
Inherited from:
DomZipper
def describe: String
Inherited from:
DomZipper
def dom: Dom
Inherited from:
DomZipper
final def editables01: DomCollection[Self, F, Option, Dom, A]
Inherited from:
DomZipper
final def editables0n: DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
final def editables1n: DomCollection[Self, F, Vector, Dom, A]
Inherited from:
DomZipper
def enrichErr(msg: String): String
Inherited from:
DomZipper
final def ensureConsistency[B](f: Store[F, Dom, A, Self] => B): F[B]

To ensure that DOM doesn't change in the middle of an observation, replace code like...

To ensure that DOM doesn't change in the middle of an observation, replace code like...

 new Obs($)

...with code like...

 $.ensureConsistency(new Obs(_))
Inherited from:
DomZipper
def exists(sel: String, suchThat: Self[F, A] => Boolean): Boolean
Inherited from:
DomZipper
def exists(sel: String): Boolean
Inherited from:
DomZipper
def findSelfOrChildWithAttribute(attr: String): F[Option[Self[F, A]]]
Inherited from:
DomZipper
def getAttribute(name: String): Option[String]
Inherited from:
DomZipper
final def innerHTML: String
Inherited from:
DomZipper
def innerText: String
Inherited from:
DomZipper
def isCapable(c: Capability): Boolean
Inherited from:
DomZipper
def matches(css: String): F[Boolean]
Inherited from:
DomZipper
final def needAttribute(name: String): F[String]
Inherited from:
DomZipper
final def outerHTML: String
Inherited from:
DomZipper
def parent: F[Self[F, A]]
Inherited from:
DomZipper
final def prepare[B](f: Self[F, A] => B): () => B
Inherited from:
DomZipper
final def scrubHtml(f: String => String): Self[F, A]
Inherited from:
DomZipper
def scrubHtml(f: HtmlScrub): Self[F, A]
Inherited from:
DomZipper
def selectedOption: F[DomCollection[Self, F, Option, Dom, A]]

The currently selected option in a <select> dropdown.

The currently selected option in a <select> dropdown.

Inherited from:
DomZipper
def selectedOptionText: F[Option[String]]

The text value of the currently selected option in a <select> dropdown.

The text value of the currently selected option in a <select> dropdown.

Inherited from:
DomZipper
def startConsistencyCheck(): () => F[Unit]

To ensure that DOM doesn't change in the middle of an observation, use this pattern:

To ensure that DOM doesn't change in the middle of an observation, use this pattern:

 class Obs($: DomZipper) {

   // Before making any observations...
   private val checkConsistency = $.startConsistencyCheck()

   // ... obs here ...

   // After making all observations...
   checkConsistency()
 }

(This assumes you're using ErrorHandler.Throw)

Inherited from:
DomZipper
def tagName: String
Inherited from:
DomZipper
def unmap: Self[F, Dom]
Inherited from:
DomZipper
def value: F[String]
Inherited from:
DomZipper

Deprecated and Inherited methods

@deprecated("Use .describe", "2.3.0")
final def describeLoc: String
Deprecated
Inherited from:
DomZipper