Initial commit

This commit is contained in:
wm-fontis
2023-07-13 13:12:19 +02:00
commit 8a0467f821
132 changed files with 17072 additions and 0 deletions

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,112 @@
# 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
# 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
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
# 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".
# (hier also bis maximal 599px Fensterbreite)
mediaQuery: "(max-width:599px)"
# 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,14 @@
type: table
mediaQuery: "(min-width:600px)"
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,31 @@
# 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
- name: content
label:
de: Inhalt
en: Content
subFields:
- source: content
- name: info
label:
de: Informationen
en: Information
subFields:
- source: info

View File