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

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.