tibi-docs/api/collections/democol/meta.yml
2023-11-18 15:00:58 +00:00

130 lines
4.8 KiB
YAML

# Ein Label für tibi-admin wird mehrsprachig folgendermaßen definiert
label:
de: Demo-Kolletion
en: Demo-Collection
# Jede Kolletion kann ein eigenes Icon aus mdijs bekommen.
muiIcon: web
# erlabt gleichzeitigen export von allen einträgen
allowExportAll: true
# backup objekt
backup:
active: true # backup ist aktiviert
collectionName: backups # name der backups collection
# wenn keine fields gesetzt sind, werden alle Felder der Kollektion angezeigt
quickEdit:
enabled: true # Standardmäßig ist die Schnellbearbeitung aktiviert
fields:
- title
- age
- date
# Die Standardsortierung bei ersten Aufruf der Kollektion.
defaultSort:
# Nach welchem Feld soll sortiert werden?
field: updatedTime
# ASC für aufsteigend oder DESC für absteigend oder MANUALLY um manuell sortieren zu können
order: DESC
# Ist ein Javascript Message-Object-Empfänger implementiert, der empfangene
# Daten als Vorschau rendern kann, so ist dieser hier zu definieren.
# Implementierungshinweise zu einem Solchen gibt es später.
previewUrl: https://demo.testversion.online/preview
# Aus den definierten "imageFilter"-Angaben kann ein Filter für die
# Ausgabe der Thunbnails in der Admin-Ansicht ausgewählt werden.
defaultImageFilter: s
# Jede Kollektion kann über media-Querys mit mehreren Ansichten veknüpft werden.
# Mögliche Ansichten und die dazugehörigen CSS-Queries sind hier zu defineren.
views:
# Natürlich können die Angaben auch ausgelagert und mehrfach verwendet werden.
# Die möglichen Angaben werden im Kapitel "views" gezeigt.
- !include simpleList.yml
- !include table.yml
# Wird eine Kollektion als eine Gesamtliste schnell unübersichtlich, hild die
# Definition von "subNavigation".
# Die meisten Angaben sind aus obiger Beschreibung den meta-Objektes bekannt.
# Es wird hier nur auf die zusätzlichen Angaben eingegangen.
subNavigation:
- # Jede Unternavigation braucht einen eindeutigen Namen um diese später
# in z.B. Javascript-Code wieder erkennen zu können.
name: pages
# Die Angabe des "label" ist optional. Wird sie nicht angegeben, wird
# wird diese Unternavigation nicht in der Navigation angezeigt.
# Ohne "label" kann die Unternavigation aber weiterhin für die Referenzierung
# z.B. in der Mediathek-Ansicht des ContentBuilders verwendet werden.
label:
de: Seiten
en: Pages
muiIcon: page-layout-body
defaultSort:
field: titel
order: ASC
# Standardmäßig wird man beim Klick auf einen Eintrag der Kollektion
# (z.B. Zeile in der Tabelle) direkt zum Editieren des Datensatzes weitergeleitet.
# Möchte man das nicht, so kann hier ein alternatives Verhalten definiert werden.
# Mögliche Werte sind:
# - "edit" (Standard)
# - "view" (Anzeigen des Datensatzes)
# - Objekt mit "eval"-Attribut
#
# Beim Objekt mit "eval"-Attribut wird der Code mit dem Javascript-Kontext für
# Kollektionen im tibi-admin ausgeführt. Das Ergebnis kann hierbei wieder "edit"
# oder "view" sein.
# Außerdem ist es möglich, eine eigene Funktion zu definieren, die den Datensatz
# als Parameter erhält. Diese Funktion wird dann für den jweiligen Datensatz
# ausgeführt, auf den geklickt wurde. Mehr dazu unter dem Widget "ContentBuilder".
defaultCallback: view
views:
- !include simpleList.yml
- !include table.yml
- !include cardList.yml
# Um mehr Übersicht zu bekommen können zum Einen andere "views" und "defaultSort"
# genutzt werden. Es kann aber auch eine Einschränkung der Daten über eine
# Vorfilterung via "filter" geben. "filter" ist ein Objekt mit MongoDB-Filterangaben.
# siehe: https://www.mongodb.com/docs/compass/current/query/filter/
filter:
type: page
- name: news
label:
de: Neuigkeiten
en: News
muiIcon: newspaper
defaultSort:
field: date
order: DESC
defaultCallback: edit
views:
- !include simpleList.yml
- !include table.yml
filter:
type: news
# Standardmäßig werden im Formular zu Eingabe der Daten alle Felder von "fields"
# untereinander angeordnet.
# Um diese Anordnung in Tabs zu strukturieren, ist die Verwendung von "tablist"
# vorgesehen.
# Die Definition befindet sich in einem gesonderten Kapitel
tablist: !include tablist.yml
# OpenAPI-Spezifikation für die API-Endpunkte der Kollektion
openapi:
get:
summary:
en: list all datasets of democol
de: listet alle Datensätze der Kollektion democol auf
description:
en: list all datasets of democol with pagination and/or filtering
de: listet alle Datensätze der Kollektion democol mit Paginierung und/oder Filterung