Initial commit

This commit is contained in:
2023-12-26 20:24:42 +01:00
commit 66d0377a00
657 changed files with 21841 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
type: cardList
mediaQuery: "(min-width:600px)"
selectionPriority: 3 #gibt an, wenn mediaQuery passt, mit welcher priorität es default mäßig ausgewählt sein soll, je niedriger, desto wichtiger
fields:
- source: updateTime
label:
de: letztes Update
en: last update
type: date
- source: title
filter: true
- source: date
filter: true
- source: type
filter: true

View File

@@ -0,0 +1,25 @@
# Der Key des Objektes definiert den Namen des Filters.
# Jeder Filter ist eine Liste von Bildmanipulationen, die
# nacheinander angewandt werden.
# Die manipulierten Bilder werden gecachet. Ein nachträgliches
# Anpassen der Filter erfordert also das Löschen der gecachten
# Dateien welche sich jeweils neben den original Bilddateien
# im "uploadPath" der Kollektion befinden.
s:
- fit: true
height: 300
width: 300
resampling: lanczos
quality: 60
m:
- fit: true
height: 600
width: 600
resampling: lanczos
quality: 60
l:
- fit: true
height: 1200
width: 1200
resampling: lanczos
quality: 60

View File

@@ -0,0 +1,129 @@
# 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

View File

@@ -0,0 +1,19 @@
# "type" legt den Typ des Views fest.
type: simpleList
# Die Auswahl erfolgt über folgende "mediaQuery".
mediaQuery: "(min-width:0px)"
selectionPriority: 2 #gibt an, wenn mediaQuery passt, mit welcher priorität es default mäßig ausgewählt sein soll, je niedriger, desto wichtiger
# 3 Blöcke können in der simpleList verwendet werden.
# Haupttext "primaryText" und optional 2 weitere Angaben über
# "secondaryText" und "tertiaryText".
# Die Angabe des jeweiligen Feldes erfolgt als String oder
# Objekt mit der "source"-Eigenschaft.
# Das Feld selbst wird in Punkt-Notation angegeben.
# Die Darstellung selbst ist abhängig von der Feld-Konfiguration
# selbst, die unter fields in der Kollektions-Konfiguration
# stattfindet.
primaryText: title
secondaryText:
source: date
tertiaryText: meta.author

View File

@@ -0,0 +1,15 @@
type: table
mediaQuery: "(min-width:600px)"
selectionPriority: 1 #gibt an, wenn mediaQuery passt, mit welcher priorität es default mäßig ausgewählt sein soll, je niedriger, desto wichtiger
columns:
- source: updateTime
label:
de: letztes Update
en: last update
type: date
- source: title
filter: true
- source: date
filter: true
- source: type
filter: true

View File

@@ -0,0 +1,41 @@
# Hier wird der initial zu öffnende Tab festgelegt.
# Ist dieser nicht festgelegt, wird automatisch der erste Tab
# aus der "tabs" Liste gewaählt.
activeTab: general
# "tabs" ist die eigentliche Liste
tabs:
- # Jeder Tab braucht einen Namen, über den er refereziert
# werden kann.
name: general
# Die übliche Labelangabe kann auch hier mehrpsrachig erfolgen.
label:
de: Allgemein
en: General
# Welche Felder dieser Tab anzeigen soll, wird über "subFields"
# beschrieben.
subFields:
- source: type
- source: title
- source: date
- source: additionalData
- source: age
- source: description
- source: paymentValues
- source: gender
- source: isEmployed
- source: profilePic
- source: skills
- source: image
- source: tags
- name: content
label:
de: Inhalt
en: Content
subFields:
- source: content
- name: info
label:
de: Informationen
en: Information
subFields:
- source: info

View File

@@ -0,0 +1,6 @@
name: fulltextindex # Ein eindeutiger Name für den Index. Es ist optional, wird jedoch empfohlen, um den Index später leicht identifizieren zu können.
key: # Bestimmt, auf welche Felder der Index angewendet werden soll. Dies kann ein einfacher String sein, wenn der Index nur ein Feld umfasst, oder ein Array von Strings, wenn der Index mehrere Felder umfasst.
- $text:$** # definiert einen Volltextindex über alle Felder. Der spezielle Operator $text wird verwendet, um einen Volltextindex zu erstellen, und der Operator $\*\* bezeichnet alle Felder in der Sammlung.
background: true # Wenn auf true gesetzt, erzwingt dies, dass der Index eindeutige Werte enthält. Wenn Sie versuchen, einen Eintrag mit einem bereits indizierten Wert hinzuzufügen, wird ein Fehler ausgelöst.
unique: false # Wenn auf true gesetzt, erzwingt dies, dass der Index eindeutige Werte enthält. Wenn Sie versuchen, einen Eintrag mit einem bereits indizierten Wert hinzuzufügen, wird ein Fehler ausgelöst.
defaultLanguage: german # Wird verwendet, um die Sprache für Textindizes festzulegen. Dies ist wichtig für die Volltextsuche, da verschiedene Sprachen unterschiedliche Tokenisierungs- und Stemmungsregeln haben.