Page History
...
- Zero‑config ephemeral state (in‑memory, auto‑clears on reload)
- Simple key/value API with three intention‑revealing scopes (Local → App → Global) to minimise accidental coupling
- Deterministic merge & precedence so templates stay concise (
<span v-pre>{{ someKey}}</span>just works with local override semantics) - Event reactivity through
ON_DATA_HUB_CHANGEso elements can react declaratively when relevant data changes - A uniform contract consumed by the Dynamic Rendering Context so all dynamic elements read state the same way
...
| Source Type | Example Input | Result |
|---|---|---|
| Literal | true | boolean true |
Literal + \{\{variables\}\} | Username \{\{global.currentUser.name\}\} | Username John |
Merge Semantics (Per Key)
...
- Direct in app composer components:
<span v-pre>{{ selection.rowId }}</span>or explicit<span v-pre>{{ local.selection.rowId }}</span> - Via Get actions inside an action chain when an intermediate action (e.g. API Invoke) needs the value.
...
Row Click → Local Set (selection = JSON Interpolated: { "rowId":"<span v-pre>{{clickedRow.id}}</span>", "ts":"<span v-pre>{{timestamp}}</span>" })
6.2 Use Selection In Button API Call
...
- Local Get (
selection) - Check context change (
selection) - API Invoke (body includes
<span v-pre>{{selection.rowId}}</span>) - Local Set (
rowDetails= response)
...
| Symptom | Cause | Fix |
|---|---|---|
| Blank interpolation | Key not set yet | Ensure Set runs first; default <span v-pre>{{ myKey || '—' }}</span> |
| Stale nested data | Shallow merge kept old props | Set to null then replace OR overwrite all fields |
| Unexpected override | Same key at Local/App | Namespace or explicit global. / app. access |
...