zwischenstand
This commit is contained in:
47
docs/md/admin-javascript-kontext/allgemeines.md
Normal file
47
docs/md/admin-javascript-kontext/allgemeines.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Javascript-Kontext im tibi-admin
|
||||
|
||||
Diverse `meta`-Angaben ermöglichen neben der eigentliche Angabe eines festen Wertes wie z.B:
|
||||
|
||||
```yaml
|
||||
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:
|
||||
|
||||
```yaml
|
||||
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.:
|
||||
|
||||
```js
|
||||
(function() {
|
||||
return new Date().toISOString().substr(0, 10)
|
||||
})()
|
||||
```
|
||||
|
||||
Um diese im YAML unterzubringen nutzt man YAML-Multiline-Modifizierer:
|
||||
|
||||
```yaml
|
||||
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](./../restapi/project.md) |
|
||||
|
||||
Die `meta`-Daten der Collections und Fields bekommen in den Javascript-Kontext der `eval`-Eigenschaften noch jeweils zusätzliche Variablen.
|
||||
Reference in New Issue
Block a user