morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::ui::detail::ElementState Struct Reference

An element's live values (spec 5 §6). More...

#include <interpreter.hpp>

Public Member Functions

 ElementState (reactive::Runtime &runtime)
 The element's state before any user action.

Public Attributes

DocNode const * node = nullptr
 The node.
RtScope * scope = nullptr
 The scope that declares it.
reactive::Signal< Value > draft
 What the user is editing: a text input's text, a checkbox's state, a select's key, a slider's number, a date-time input's timestamp.
reactive::Signal< Value > committed
 The committed value of an input whose value no expression binds.
reactive::Signal< bool > edited
 Whether the user changed the draft since it last followed the bound value.
reactive::Signal< bool > touched
 Whether it has been committed at least once (Enter or focus leaving after an edit).
reactive::Signal< bool > focused
 Whether it has keyboard focus. The view tree reports no focus, so it stays false.
reactive::Signal< bool > open
 A dialog's or drawer's open, set by open and close.
reactive::Signal< bool > submitted
 A dialog's or drawer's submitted.
reactive::Signal< Value > selection
 A table's selected keys.
reactive::Signal< Value > activeKey
 A table's last activated key.
reactive::Signal< int > checksVersion
 Bumped when a check targeting it comes or goes.
reactive::Signal< RtScope * > inner
 A dialog's or drawer's scope while its content is mounted.
std::vector< CheckRuntime * > checks
 The checks targeting it.
reactive::Computed< Value > * bound = nullptr
 The value an expression binds (value, checked, selected); nullptr when the element is uncontrolled.
reactive::Computed< Value > * errors = nullptr
 What is wrong now, as a list of strings: required unmet, the node's errors, the reply's field errors and the failing checks' messages.
reactive::Computed< Value > * rows = nullptr
 A table's rows or a select's options, for its counts and selectedOption.
std::unique_ptr< forms::FormSession > form
 A form's session (spec 2), made when the element is wired; null when its schema is unknown.
std::unique_ptr< forms::CollectionSession > collection
 A collection's session (spec 2), made when the element is wired; null when its view document is unknown or does not build.
std::unique_ptr< forms::WizardSession > wizard
 A wizard's session (spec 2), made when the element is wired; null when its wizard document or a step's schema is unknown or does not build.

Detailed Description

An element's live values (spec 5 §6).

Definition at line 1521 of file interpreter.hpp.

Constructor & Destructor Documentation

◆ ElementState()

morph::ui::detail::ElementState::ElementState ( reactive::Runtime & runtime)
inlineexplicit

The element's state before any user action.

Parameters
runtimeThe runtime.

Definition at line 1524 of file interpreter.hpp.

Member Data Documentation

◆ node

DocNode const* morph::ui::detail::ElementState::node = nullptr

The node.

Definition at line 1538 of file interpreter.hpp.

◆ scope

RtScope* morph::ui::detail::ElementState::scope = nullptr

The scope that declares it.

Definition at line 1540 of file interpreter.hpp.

◆ draft

reactive::Signal<Value> morph::ui::detail::ElementState::draft

What the user is editing: a text input's text, a checkbox's state, a select's key, a slider's number, a date-time input's timestamp.

Definition at line 1543 of file interpreter.hpp.

◆ committed

reactive::Signal<Value> morph::ui::detail::ElementState::committed

The committed value of an input whose value no expression binds.

Definition at line 1545 of file interpreter.hpp.

◆ edited

reactive::Signal<bool> morph::ui::detail::ElementState::edited

Whether the user changed the draft since it last followed the bound value.

Definition at line 1547 of file interpreter.hpp.

◆ touched

reactive::Signal<bool> morph::ui::detail::ElementState::touched

Whether it has been committed at least once (Enter or focus leaving after an edit).

Definition at line 1549 of file interpreter.hpp.

◆ focused

reactive::Signal<bool> morph::ui::detail::ElementState::focused

Whether it has keyboard focus. The view tree reports no focus, so it stays false.

Definition at line 1551 of file interpreter.hpp.

◆ open

reactive::Signal<bool> morph::ui::detail::ElementState::open

A dialog's or drawer's open, set by open and close.

Definition at line 1553 of file interpreter.hpp.

◆ submitted

reactive::Signal<bool> morph::ui::detail::ElementState::submitted

A dialog's or drawer's submitted.

Definition at line 1555 of file interpreter.hpp.

◆ selection

reactive::Signal<Value> morph::ui::detail::ElementState::selection

A table's selected keys.

Definition at line 1557 of file interpreter.hpp.

◆ activeKey

reactive::Signal<Value> morph::ui::detail::ElementState::activeKey

A table's last activated key.

Definition at line 1559 of file interpreter.hpp.

◆ checksVersion

reactive::Signal<int> morph::ui::detail::ElementState::checksVersion

Bumped when a check targeting it comes or goes.

Definition at line 1561 of file interpreter.hpp.

◆ inner

reactive::Signal<RtScope*> morph::ui::detail::ElementState::inner

A dialog's or drawer's scope while its content is mounted.

Definition at line 1563 of file interpreter.hpp.

◆ checks

std::vector<CheckRuntime*> morph::ui::detail::ElementState::checks

The checks targeting it.

Definition at line 1565 of file interpreter.hpp.

◆ bound

reactive::Computed<Value>* morph::ui::detail::ElementState::bound = nullptr

The value an expression binds (value, checked, selected); nullptr when the element is uncontrolled.

Definition at line 1568 of file interpreter.hpp.

◆ errors

reactive::Computed<Value>* morph::ui::detail::ElementState::errors = nullptr

What is wrong now, as a list of strings: required unmet, the node's errors, the reply's field errors and the failing checks' messages.

Definition at line 1571 of file interpreter.hpp.

◆ rows

reactive::Computed<Value>* morph::ui::detail::ElementState::rows = nullptr

A table's rows or a select's options, for its counts and selectedOption.

Definition at line 1573 of file interpreter.hpp.

◆ form

std::unique_ptr<forms::FormSession> morph::ui::detail::ElementState::form

A form's session (spec 2), made when the element is wired; null when its schema is unknown.

Definition at line 1575 of file interpreter.hpp.

◆ collection

std::unique_ptr<forms::CollectionSession> morph::ui::detail::ElementState::collection

A collection's session (spec 2), made when the element is wired; null when its view document is unknown or does not build.

Definition at line 1578 of file interpreter.hpp.

◆ wizard

std::unique_ptr<forms::WizardSession> morph::ui::detail::ElementState::wizard

A wizard's session (spec 2), made when the element is wired; null when its wizard document or a step's schema is unknown or does not build.

Definition at line 1581 of file interpreter.hpp.


The documentation for this struct was generated from the following file: