code samples

This commit is contained in:
2023-06-02 17:40:19 +00:00
parent 0979f01478
commit 3dcd4dd093
15 changed files with 181 additions and 120 deletions

View File

@@ -21,15 +21,26 @@ fields:
- !include fields/date.yml
- !include fields/content.yml
- !include fields/info.yml
- !include fields/isEmployed.yml
- !include fields/profilePic.yml
- !include fields/skills.yml
- !include fields/supervisor.yml
- !include fields/tags.yml
- !include fields/gender.yml
- !include fields/emplymentDetails.yml
- !include fields/description.yml
- !include fields/age.yml
- !include fields/additionalData.yml
# Neben der Definition der Indexe innerhalbd des Feld-Objektes selbst,
# ist die Index-Definition global für die Kollektion auch hier möglich.
# Diese Definition ist z.B. für zusammengesetzte Index-Typen notwendig.
# Außerdem sind hier feinere Einstellungen für den Index möglich.
# Mehr dazu im "indexes" Kapitel
# indexes:
# - !include democol/textindex.yml
# indexes:
# - !include democol/textindex.yml
# Standardsprache für Text-Index in der Datenbank
defaultLanguage: de
@@ -212,4 +223,4 @@ imageFilter: !include democol/imageFilter.yml
# "meta" Objekt möglich und nötig für die Konfiguration des
# tibi-admin.
# Mögliche Angaben werden im seperaten Kapitel behandelt.
meta: !include democol/meta.yml
meta: !include democol/meta.yml

View File

@@ -17,6 +17,16 @@ tabs:
- source: type
- source: title
- source: date
- source: additionalData
- source: age
- source: description
- source: paymentValues
- source: gender
- source: isEmployed
- source: profilePic
- source: skills
- source: supervisor
- source: tags
- name: content
label:
de: Inhalt

View File

@@ -0,0 +1,5 @@
name: additionalData # Name des Eingabefelds.
type: object # Datentyp des Eingabefelds.
meta:
label: { de: "Zusätzliche Daten", en: "Additional Data" } # Feldlabel.
widget: jsonField # Verwendetes Widget.

View File

@@ -0,0 +1,5 @@
name: age # Name des Eingabefelds.
type: int # Datentyp des Eingabefelds.
meta:
label: { de: "Alter", en: "Age" } # Feldlabel.
widget: number # Verwendetes Widget.

View File

@@ -0,0 +1,5 @@
name: description # Name des Eingabefelds.
type: string # Datentyp des Eingabefelds.
meta:
label: { de: "Beschreibung", en: "Description" } # Feldlabel.
widget: richtext # Verwendetes Widget.

View File

@@ -0,0 +1,32 @@
name: paymentValues # Name des Eingabefelds.
type: object # Datentyp des Eingabefelds, in diesem Fall ein Objekt.
meta:
label: "Überweisungswerte" # Feldlabel.
widget: tabs # Verwendetes Widget. Die tabs Widget wird zur Organisation von komplexen Eingaben in Tab-Form verwendet.
subFields: # Liste der Unterfelder für jedes Tab.
- name: paymentValueObj # Name des Eingabefelds für das erste Tab.
type: object[] # Datentyp des Eingabefelds, in diesem Fall ein Array von Objekten.
meta:
label: Überweisungswerte1 # Tab-Label.
subFields: # Liste der Unterfelder für das Tab.
- name: paymentValue # Name des ersten Eingabefelds in diesem Tab.
type: number # Datentyp des Eingabefelds.
meta:
label: Überweisungswert1 # Feldlabel.
- name: paymentValuee # Name des zweiten Eingabefelds in diesem Tab.
type: number # Datentyp des Eingabefelds.
meta:
label: Überweisungswert2 # Feldlabel.
- name: paymentValueObj2 # Name des Eingabefelds für das zweite Tab.
type: object[] # Datentyp des Eingabefelds, in diesem Fall ein Array von Objekten.
meta:
label: Überweisungswerte2 # Tab-Label.
subFields: # Liste der Unterfelder für das Tab.
- name: paymentValue # Name des ersten Eingabefelds in diesem Tab.
type: number # Datentyp des Eingabefelds.
meta:
label: Überweisungswert1 # Feldlabel.
- name: paymentValuee # Name des zweiten Eingabefelds in diesem Tab.
type: number # Datentyp des Eingabefelds.
meta:
label: Überweisungswert2 # Feldlabel.

View File

@@ -0,0 +1,23 @@
name: gender # Name des Eingabefelds.
type: string # Datentyp des Eingabefelds.
meta:
label: { de: "Geschlecht", en: "Gender" } # Feldlabel.
widget: select # Verwendetes Widget.
choices: # Auswahlmöglichkeiten.
- name: "männlich" # Anzeigename der Auswahl.
id: "male" # Wert der Auswahl.
- name: "weiblich" # Anzeigename der Auswahl.
id: "female" # Wert der Auswahl.
chipStyle:
backgroundImage: "linear-gradient(black 33.3%, red 33.3%, red 66.6%, gold 66.6%);"
color: white
textShadow: 0px 0px 4px black
#alternative:
#choices:
#DEPRECATED - FOREIGNKEY STATTDESSEN!
#endpoint: content
#params:
#sort:
#mapping:
#id: id
#name: path

View File

@@ -0,0 +1,5 @@
name: isEmployed # Name des Eingabefelds.
type: boolean # Datentyp des Eingabefelds.
meta:
label: { de: "Angestellt?", en: "Employed?" } # Feldlabel.
widget: checkbox # Verwendetes Widget.

View File

@@ -0,0 +1,5 @@
name: profilePic # Name des Eingabefelds.
type: file # Datentyp des Eingabefelds.
meta:
label: { de: "Profilbild", en: "Profile Picture" } # Feldlabel.
widget: file # Verwendetes Widget.

View File

@@ -0,0 +1,10 @@
name: skills # Name des Eingabefelds.
type: string[] # Datentyp des Eingabefelds.
meta:
label: { de: "Fähigkeiten", en: "Skills" } # Feldlabel.
widget: checkboxArray # Verwendetes Widget.
choices: # Auswahlmöglichkeiten.
- name: "Kochen" # Anzeigename der Auswahl.
id: "cooking" # Wert der Auswahl.
- name: "Backen" # Anzeigename der Auswahl.
id: "baking" # Wert der Auswahl.

View File

@@ -0,0 +1,19 @@
name: supervisor # Name des Eingabefelds.
type: string # Datentyp des Eingabefelds.
meta:
label: { de: "Vorgesetzter", en: "Supervisor" } # Feldlabel.
widget: foreignKey # Verwendetes Widget.
foreign:
collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.
id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird.
subNavigation: 1 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird.
#projection: xyz
#sort: "title"
render:
raw: true
eval: |
(function() {
var out = "";
out += "<div style=\"color: #999;\">" + $foreignEntry.title + "</div>";
return out;
})()

View File

@@ -0,0 +1,11 @@
name: tags # Name des Eingabefelds.
type: string[] # Datentyp des Eingabefelds.
meta:
label: { de: "Tags", en: "Tags" } # Feldlabel.
widget: chipArray # Verwendetes Widget.
choices: # Auswahlmöglichkeiten.
- name: "Tech" # Anzeigename der Auswahl.
id: "tech" # Wert der Auswahl.
- name: "Wissenschaft" # Anzeigename der Auswahl.
id: "science" # Wert der Auswahl.
autocomplete: true # Option für Autovervollständigung.

View File

@@ -4,5 +4,8 @@ meta:
label:
de: Titel
en: Title
inputProps:
multiline: true
placeholder: Ihr Titel
openapi:
example: Demo Titel

View File

@@ -96,8 +96,24 @@ meta:
(entry) => {
parent.selectAsset("medialib/" + entry.id + "/" + entry.file?.src + "?filter=l")
parent.focus()
}s
//!js
- name: modalForeign # Name des Eingabefelds oder der Ansicht.
defaultSort: # Standard-Sortierkriterien, die angewendet werden, wenn keine anderen Sortierkriterien spezifiziert sind.
field: "path" # Standardmäßig wird nach dem "path"-Feld sortiert.
order: "ASC" # Standardmäßig wird in aufsteigender Reihenfolge (ASC) sortiert.
views: # Liste der Ansichten, die in diesem Feld angezeigt werden können.
- type: table # Es wird eine Tabellenansicht verwendet.
columns: # Liste der Spalten, die in der Tabelle angezeigt werden.
- path # Es wird nur die Spalte "path" angezeigt.
defaultCallback: # Standard-Callback-Funktion, die ausgeführt wird, wenn keine andere spezifiziert ist.
eval: | # Der Code wird als JavaScript evaluiert.
//js
(entry) => { // Diese Funktion nimmt den Eintrag (entry) als Argument.
parent.selectEntry(entry) // Die Funktion selectEntry auf dem übergeordneten Objekt wird mit dem Eintrag als Argument aufgerufen.
}
//!js
openapi:
disabled: true
disabled: true