packages start...

This commit is contained in:
2023-06-03 18:07:58 +00:00
parent 3dcd4dd093
commit de71e679ec
21 changed files with 686 additions and 48 deletions

View File

@@ -24,7 +24,7 @@ fields:
- !include fields/isEmployed.yml
- !include fields/profilePic.yml
- !include fields/skills.yml
- !include fields/supervisor.yml
- !include fields/image.yml
- !include fields/tags.yml
- !include fields/gender.yml
- !include fields/emplymentDetails.yml

View File

@@ -10,7 +10,7 @@ muiIcon: web
defaultSort:
# Nach welchem Feld soll sortiert werden?
field: updatedTime
# ASC für aufsteigend oder DESC für absteigend
# 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
@@ -30,7 +30,7 @@ views:
- !include simpleList.yml
- !include table.yml
# Wird eine Kollektion als eine Gesamtliste schnell unübersichtlich, hild die
# 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.
@@ -73,12 +73,12 @@ subNavigation:
- !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
# 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
@@ -104,9 +104,9 @@ tablist: !include tablist.yml
# OpenAPI-Spezifikation für die API-Endpunkte der Kollektion
openapi:
get:
summary:
summary:
en: list all datasets of democol
de: listet alle Datensätze der Kollektion democol auf
description:
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
de: listet alle Datensätze der Kollektion democol mit Paginierung und/oder Filterung

View File

@@ -25,7 +25,7 @@ tabs:
- source: isEmployed
- source: profilePic
- source: skills
- source: supervisor
- source: image
- source: tags
- name: content
label:

View File

@@ -1,7 +1,7 @@
name: supervisor # Name des Eingabefelds.
name: image # Name des Eingabefelds.
type: string # Datentyp des Eingabefelds.
meta:
label: { de: "Vorgesetzter", en: "Supervisor" } # Feldlabel.
label: { de: "Bild", en: "Image" } # Feldlabel.
widget: foreignKey # Verwendetes Widget.
foreign:
collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.

View File

@@ -3,40 +3,14 @@
name: medialib
uploadPath: ../media/medialib
fields:
- !include fields/title.yml
# Ein Feld vom Typ "file" wird für die Mediathek natürlich
# benötigt.
- name: file
type: file
meta:
label:
de: Datei
en: File
permissions:
public:
methods:
get: true
post: false
put: false
delete: false
user:
methods:
get: true
post: true
put: true
delete: true
meta:
label:
de: Medienbibliothek
en: Media Library
muiIcon: multimedia
defaultSort:
field: title
order: ASC
field: sort
order: MANUALLY #alternativ auch ASC und DESC möglich
# "defaultImageFilter" dient auch hier nur zur Reduzierung der
# Bildgröße bei der Anzeige im tibi-admin (Listen).
@@ -48,15 +22,51 @@ meta:
# "subNavigation" Index definiert, werden auch folgende "views"
# verwendet.
views:
- type: table
mediaQuery: "(min-width: 0px)"
- type: simpleList
mediaQuery: "(max-width: 767px)"
primaryText: path
columns:
- source: file
- source: updateTime
label: letztes Update
type: datetime
label: letztes Update
- source: title
filter: true
- source: description
filter: true
- type: table
mediaQuery: "(min-width: 768px) and (max-width: 1199px)"
columns:
- source: file
- source: updateTime
type: datetime
label: letztes Update
- source: title
filter: true
- source: description
filter: true
- type: cardList
mediaQuery: "(min-width: 1200px)"
fileDropArea:
label:
{
de: "Ziehen Sie Dateien per Drag and Drop hierher oder klicken Sie, um Dateien auszuwählen.",
en: "Drag and drop some files here, or click to upload.",
}
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
targetField: file
pageAsDropArea: false
fields:
- source: file
- source: updateTime
type: datetime
label: letztes Update
- source: title
filter: true
- source: description
filter: true
# Wird ein "subNavigation" Index für "image-/file-/videoSelect" definiert,
# wird die entsprechende Navigation aus folgender Liste angesprochen.
@@ -72,12 +82,17 @@ meta:
# Folgende Ansicht wird für unsere Auswahl der Datei im ContentBuilder
# angeboten.
views:
- type: table
- type: cards
mediaQuery: "(min-width: 0px)"
columns:
fields:
- source: file
- source: updateTime
type: datetime
label: letztes Update
- source: title
filter: true
- source: file
- source: description
filter: true
# Damit der ContentBuilder weiß, welche Datei ausgewählt wurde, ist
# ist folgender "defaultCallback" notwendig.
@@ -96,7 +111,7 @@ meta:
(entry) => {
parent.selectAsset("medialib/" + entry.id + "/" + entry.file?.src + "?filter=l")
parent.focus()
}s
}
//!js
- name: modalForeign # Name des Eingabefelds oder der Ansicht.
@@ -115,5 +130,61 @@ meta:
}
//!js
openapi:
disabled: true
permissions:
public:
methods:
get: true
post: false
put: false
delete: false
user:
methods:
get: true
post: true
put: true
delete: true
projections:
dashboard:
select:
hooks:
delete:
return:
type: javascript
file: hooks/medialib/delete_return.js
fields:
# Ein Feld vom Typ "file" wird für die Mediathek natürlich
# benötigt.
- name: file
type: file
meta:
label:
de: Datei
en: File
- name: title
type: string
meta:
label:
de: Titel
en: Title
- name: description
type: string
meta:
widget: richtext
label:
de: Kurzbeschreibung
en: Short Description
- name: sort
type: number
meta:
label:
de: Manuelle Sortierung
en: Manual Sorting
inputProps:
{ readonly: true, placeholder: { de: "Wert wird automatisch gesetzt", en: "Value is set automatically" } }
helperText:
de: Dieses Feld wird für die manuelle Sortierung benötigt. Sobald ein Eintrag per Drag&Drop verschoben wurde, wird die neue Position innerhalb der Liste eingetragen.
en: This field is required for manual sorting. As soon as an entry is moved using Drag&Drop, the new position is entered in the list.