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

2.3 KiB

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:

{
    "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]:

{
    "key": "pla",
    "description": "Ah Plah"
}

$stack[1]:

[
    {
        "key": "pla",
        "description": "Ah Plah"
    },
    {
        "key": "blup",
        "description": "Buh Blup"
    }
]

$stack[2]:

{
    "keywords": [
        {
            "key": "pla",
            "description": "Ah Plah"
        },
        {
            "key": "blup",
            "description": "Buh Blup"
        }
    ]
}

$stack[3], entry und $:

{
    "title": "Mein Datensatz",
    "meta": {
        "keywords": [
            {
                "key": "pla",
                "description": "Ah Plah"
            },
            {
                "key": "blup",
                "description": "Buh Blup"
            }
        ]
    }
}