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, [A] =>> Option[A], Dom, A]
Inherited from
DomZipper
def children01: DomCollection[Self, F, [A] =>> Option[A], 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, [A] =>> Option[A], 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, [A] =>> Option[A], 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, [A] =>> Option[A], 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