backend & types
This commit is contained in:
@@ -4,70 +4,39 @@ name: medialib
|
||||
uploadPath: ../media/medialib
|
||||
|
||||
meta:
|
||||
allowExportAll: true
|
||||
label:
|
||||
de: Medienbibliothek
|
||||
en: Media Library
|
||||
muiIcon: multimedia
|
||||
defaultSort:
|
||||
field: sort
|
||||
order: MANUALLY #alternativ auch ASC und DESC möglich
|
||||
order: MANUALLY
|
||||
|
||||
backup:
|
||||
active: true
|
||||
collectionName: backups
|
||||
|
||||
quickEdit:
|
||||
enabled: true
|
||||
fields:
|
||||
- title
|
||||
- alt
|
||||
- file
|
||||
|
||||
# "defaultImageFilter" dient auch hier nur zur Reduzierung der
|
||||
# Bildgröße bei der Anzeige im tibi-admin (Listen).
|
||||
# Die Bildgröße für die Einbindung ins erzeugte HTML des ContentBuilder
|
||||
# hat hiermit nix zu tun.
|
||||
defaultImageFilter: s
|
||||
defaultImageFilter: xs
|
||||
|
||||
multiupload:
|
||||
fields:
|
||||
- source: description #specify wich fields should be editable in Modal, if property isnt set, then all fields will automatically be selected
|
||||
prefilledFields: #specifies wich fields should have a default value, wont be visible to the user, just an informational text for wich fields will recieve an default value.
|
||||
- source: title
|
||||
defaultValue:
|
||||
eval: |
|
||||
(function(){
|
||||
return "Title" + $file.name
|
||||
})()
|
||||
fields: []
|
||||
|
||||
# Wird unter "image-/file-/videoSelect" im ContentBuilder Feld kein
|
||||
# "subNavigation" Index definiert, werden auch folgende "views"
|
||||
# verwendet.
|
||||
views:
|
||||
- type: simpleList
|
||||
mediaQuery: "(min-width: 0px)"
|
||||
selectionPriority: 3 #gibt an, wenn mediaQuery passt, mit welcher priorität es default mäßig ausgewählt sein soll, je niedriger, desto wichtiger
|
||||
primaryText:
|
||||
source: path
|
||||
filter: true
|
||||
|
||||
secondaryText:
|
||||
source: title
|
||||
filter: true
|
||||
|
||||
tertiaryText:
|
||||
source: description
|
||||
filter: true
|
||||
|
||||
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: true
|
||||
columns:
|
||||
- source: file
|
||||
- source: updateTime
|
||||
type: datetime
|
||||
label: letztes Update
|
||||
- source: title
|
||||
filter: true
|
||||
- source: description
|
||||
filter: true
|
||||
- type: table
|
||||
mediaQuery: "(min-width: 768px)"
|
||||
mediaQuery: "(min-width: 0px)"
|
||||
defaultSelect: false
|
||||
selectionPriority: 2
|
||||
fileDropArea:
|
||||
label:
|
||||
@@ -77,16 +46,13 @@ meta:
|
||||
}
|
||||
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
|
||||
targetField: file
|
||||
pageAsDropArea: true
|
||||
pageAsDropArea: false
|
||||
columns:
|
||||
- source: file
|
||||
name: Datei
|
||||
- source: updateTime
|
||||
type: datetime
|
||||
label: letztes Update
|
||||
- source: title
|
||||
filter: true
|
||||
- source: description
|
||||
filter: true
|
||||
|
||||
- type: cardList
|
||||
mediaQuery: "(min-width: 1200px)"
|
||||
@@ -103,73 +69,27 @@ meta:
|
||||
|
||||
fields:
|
||||
- source: file
|
||||
name: Datei
|
||||
- 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.
|
||||
# "0" ist dabei der Index für das erste Element dieser Liste.
|
||||
subNavigation:
|
||||
- # Der "name" der Navigation ist für die Mediathek nicht von Bedeutung,
|
||||
# kann aber für "eval"-Code interessant sein.
|
||||
name: modal
|
||||
|
||||
# Auf "label" wurde hier verzichtet, damit dieses Element nicht in der
|
||||
# Hauptnavigation des tibi-admin auftaucht.
|
||||
|
||||
# Folgende Ansicht wird für unsere Auswahl der Datei im ContentBuilder
|
||||
# angeboten.
|
||||
views:
|
||||
- type: cards
|
||||
mediaQuery: "(min-width: 0px)"
|
||||
fields:
|
||||
- source: file
|
||||
- source: updateTime
|
||||
type: datetime
|
||||
label: letztes Update
|
||||
- source: title
|
||||
filter: true
|
||||
- source: description
|
||||
filter: true
|
||||
|
||||
# Damit der ContentBuilder weiß, welche Datei ausgewählt wurde, ist
|
||||
# ist folgender "defaultCallback" notwendig.
|
||||
# Die Funktion wird beim Klick auf die entsprechende Datei aufgerufen.
|
||||
# Als Funktionsparameter steht der gesamte Datensatz der Auswahl zur
|
||||
# Verfügung.
|
||||
# Die Funktionen "parent.selectAsset" und "parent.focus" sind ContentBuilder
|
||||
# spezifisch und schließen die Listenansicht direkt nach Übergabe der
|
||||
# Datei-URL.
|
||||
# Die URL setzt sich aus dem Pfad zur Datei und dem Filter "l" zusammen.
|
||||
# Es wurde eine relative URL konstruiert, da das ContentBuilder-Widget
|
||||
# mit "baseHref" zur Projekt-URL erstellt wird.
|
||||
defaultCallback:
|
||||
eval: |
|
||||
//js
|
||||
(entry) => {
|
||||
parent.selectAsset("medialib/" + entry.id + "/" + entry.file?.src + "?filter=l")
|
||||
parent.focus()
|
||||
}
|
||||
//!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.
|
||||
mediaQuery: "(min-width: 0px)" # Die Tabellenansicht wird nur angezeigt, wenn die Bildschirmbreite mindestens 0px beträgt.
|
||||
columns: # Liste der Spalten, die in der Tabelle angezeigt werden.
|
||||
- path # Es wird nur die Spalte "path" angezeigt.
|
||||
- source: file
|
||||
|
||||
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.
|
||||
(entry) => {
|
||||
parent.selectEntry(entry)
|
||||
}
|
||||
//!js
|
||||
|
||||
@@ -191,37 +111,76 @@ projections:
|
||||
dashboard:
|
||||
select:
|
||||
hooks:
|
||||
delete:
|
||||
post:
|
||||
return:
|
||||
type: javascript
|
||||
file: hooks/medialib/delete_return.js
|
||||
file: hooks/clear_cache.js
|
||||
put:
|
||||
return:
|
||||
type: javascript
|
||||
file: hooks/clear_cache.js
|
||||
|
||||
imageFilter:
|
||||
xs:
|
||||
- fit: true
|
||||
height: 90
|
||||
width: 90
|
||||
resampling: lanczos
|
||||
quality: 60
|
||||
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
|
||||
xl:
|
||||
- fit: true
|
||||
height: 2000
|
||||
width: 2000
|
||||
resampling: lanczos
|
||||
quality: 60
|
||||
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: alt
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Alternativtext
|
||||
en: Alternative text
|
||||
helperText:
|
||||
de: Der Alternativtext wird angezeigt, wenn die Datei nicht geladen werden kann.
|
||||
en: The alternative text is displayed if the file cannot be loaded.
|
||||
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Titel
|
||||
en: Title
|
||||
- name: description
|
||||
type: string
|
||||
meta:
|
||||
widget: richtext
|
||||
label:
|
||||
de: Kurzbeschreibung
|
||||
en: Short Description
|
||||
helperText:
|
||||
de: Der Titel wird angezeigt, wenn die Datei geladen wird.
|
||||
en: The title is displayed when the file is loaded.
|
||||
|
||||
- name: sort
|
||||
type: number
|
||||
|
||||
meta:
|
||||
label:
|
||||
de: Manuelle Sortierung
|
||||
|
||||
Reference in New Issue
Block a user