1.6 KiB
Javascript-Kontext im tibi-admin
Diverse meta
-Angaben ermöglichen neben der eigentliche Angabe eines festen Wertes wie z.B:
defaultValue: "Hallo Welt"
auch die Angabe eines Javascript-Ausdrucks, der zur Laufzeit ausgewertet wird. Dieser Ausdruck wird in einem Javascript-Kontext clientseitig ausgeführt und ist mit diversen Variablen vorbelegt.
Die Angabe des Javascript-Codes erfolgt dabei meist mit dem eval
-Attribut dessen Wert der String des Codes ist:
defaultValue:
eval: "new Date().toISOString().substr(0, 10)"
In den Fällen in denen ein Oneliner nicht ausreiched ist, bieten sich "selbst ausführende Funktionen" an, wie z.B.:
(function() {
return new Date().toISOString().substr(0, 10)
})()
Um diese im YAML unterzubringen nutzt man YAML-Multiline-Modifizierer:
defaultValue:
eval: |
(function() {
return new Date().toISOString().substr(0, 10)
})()
Kontext-Variablen
Der Javascript-Kontext ist mit folgenden Variablen standardmäßig angereichert:
Variable | Datentyp | Bedeutung | ||
---|---|---|---|---|
$namespace |
string | Der Namespacebezeichner des aktuellen Projekts | ||
$apiBase |
string | Basis-URL des API-Endpunkts | ||
$projectBase |
string | Basis-URL des Projekts-API-Endpunkts ($apiBase _/$namespace /) |
||
$auth TODO |
object | Das aktuelle Auth-Objetc des eingeloggten Benutzers | ||
$project |
object | Das aktuelle Projekt-Objekt, siehe API /project |
Die meta
-Daten der Collections und Fields bekommen in den Javascript-Kontext der eval
-Eigenschaften noch jeweils zusätzliche Variablen.