tibi-starter/docs/md/admin-javascript-kontext/field.meta..eval.md
2024-02-13 16:36:09 +00:00

105 lines
2.3 KiB
Markdown

# field.meta..eval Javascript-Kontext
Zuätzlich zu den allgemeinen und Kollektions-spezifischen Variablen, die im Javascript-Kontext der `eval`-Eigenschaften unterhalb des zur Verfügung stehen, gibt es noch folgende Variablen unterhalb des `field.meta`-Objektes für die Evaluierung:
| Variable | Datentyp | Bedeutung |
| --- | --- | --- | --- | --- |
| `$field` TODO | object | Das aktuelle Feld-Objekt |
| `$method` | `"post"`/`"put"` | `"put"` bedeuted, dass der Datensatz gerade in Bearbeitung ist, `"post"` = Datensatz soll angelegt werden |
| `$this` | any | Der aktuelle Wert des Feldes |
| `$` | object | Das gesamte Objekt des Dokuments |
| `$parent` | object oder array | Der Wert des Elternknotens zum aktuellen Feld |
| `$stack` | array | Der Stack bis zum Ursprung des gesamten Objekts |
## Der Stack
Um die Abhängigkeiten zu bestimmten Werten ausdrücken zu können (z.B. in `meta.dependsOn.eval`), sind die Variablen `$this`, `$`, `$parent` und `$stack` verfügbar.
Folgendes Beispiel eines Datensatzes verdeutlicht die Belegung, während die Maske zum Editieren im *tibi-admin* geöffnet ist:
```json
{
"title": "Mein Datensatz",
"meta": {
"keywords": [
{
"key": "pla",
"description": "Ah Plah"
},
{
"key": "blup",
"description": "Buh Blup"
}
]
}
}
```
wobei wir den `"key": "pla"` betrachten, wären die Inhalte der Variablen folgende:
`$this`:
plah
`$parent` und `$stack[0]`:
```json
{
"key": "pla",
"description": "Ah Plah"
}
```
`$stack[1]`:
```json
[
{
"key": "pla",
"description": "Ah Plah"
},
{
"key": "blup",
"description": "Buh Blup"
}
]
```
`$stack[2]`:
```json
{
"keywords": [
{
"key": "pla",
"description": "Ah Plah"
},
{
"key": "blup",
"description": "Buh Blup"
}
]
}
```
`$stack[3]`, `entry` und `$`:
```json
{
"title": "Mein Datensatz",
"meta": {
"keywords": [
{
"key": "pla",
"description": "Ah Plah"
},
{
"key": "blup",
"description": "Buh Blup"
}
]
}
}
```