211 lines
5.1 KiB
YAML
211 lines
5.1 KiB
YAML
name: medialib
|
|
uploadPath: ../media/medialib
|
|
|
|
meta:
|
|
allowExportAll: true
|
|
label:
|
|
de: Medienbibliothek
|
|
en: Media Library
|
|
muiIcon: multimedia
|
|
defaultSort:
|
|
field: sort
|
|
order: MANUALLY
|
|
|
|
backup:
|
|
active: true
|
|
collectionName: backups
|
|
|
|
quickEdit:
|
|
enabled: true
|
|
fields:
|
|
- title
|
|
- alt
|
|
- file
|
|
- tags
|
|
defaultImageFilter: xs
|
|
multiupload:
|
|
fields:
|
|
- source: category
|
|
prefilledFields:
|
|
- source: title
|
|
defaultValue:
|
|
eval: |
|
|
(function(){
|
|
return $file.name.split(".")[0]
|
|
})()
|
|
- source: alt
|
|
defaultValue:
|
|
eval: |
|
|
(function(){
|
|
return $file.name.split(".")[0]
|
|
})()
|
|
views: &views
|
|
- !include fields/medialibSimpleList.yml
|
|
- !include fields/medialibTable.yml
|
|
- !include fields/medialibCardList.yml
|
|
|
|
subNavigation:
|
|
- name: modalForeign
|
|
defaultSort:
|
|
field: "path"
|
|
order: "ASC"
|
|
views: *views
|
|
defaultCallback:
|
|
eval: |
|
|
//js
|
|
(entry) => {
|
|
parent.selectEntry(entry)
|
|
}
|
|
//!js
|
|
|
|
- name: websiteContent
|
|
label: Inhalt
|
|
muiIcon: accountGroup
|
|
setDefault:
|
|
field: type
|
|
value: websiteContent
|
|
defaultSort:
|
|
field: "sort"
|
|
order: "MANUALLY"
|
|
views: *views
|
|
filter:
|
|
"type": "websiteContent"
|
|
|
|
- name: other
|
|
label: Andere
|
|
muiIcon: accountGroup
|
|
defaultSort:
|
|
field: "sort"
|
|
order: "MANUALLY"
|
|
views: *views
|
|
filter:
|
|
"type": { $ne: "websiteContent" }
|
|
|
|
permissions:
|
|
public:
|
|
methods:
|
|
get: true
|
|
post: true
|
|
put: false
|
|
delete: true
|
|
validProjections:
|
|
- list
|
|
- details
|
|
user:
|
|
methods:
|
|
get: true
|
|
post: true
|
|
put: true
|
|
delete: true
|
|
token:${TOKEN}:
|
|
methods:
|
|
get: true
|
|
post: true
|
|
put: true
|
|
delete: true
|
|
pages:
|
|
methods:
|
|
get: true
|
|
post: true
|
|
put: true
|
|
delete: true
|
|
|
|
projections:
|
|
dashboard:
|
|
select:
|
|
details:
|
|
select:
|
|
file: 0
|
|
list:
|
|
select:
|
|
file: 1
|
|
alt: 1
|
|
hooks:
|
|
put:
|
|
return:
|
|
type: javascript
|
|
file: hooks/clear_cache.js
|
|
delete:
|
|
delete:
|
|
type: javascript
|
|
file: hooks/medialib/delete_delete.js
|
|
|
|
imageFilter: !include lib/imageFilter.yml
|
|
|
|
fields:
|
|
- !include fields/file.yml
|
|
- name: type
|
|
type: string
|
|
meta:
|
|
label:
|
|
de: Typ
|
|
en: Type
|
|
widget: select
|
|
choices:
|
|
- name: websiteContent
|
|
id: websiteContent
|
|
- name: returnOrderFoto
|
|
id: returnOrderFoto
|
|
|
|
- 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
|
|
helperText:
|
|
de: Der Titel wird angezeigt, wenn die Datei geladen wird.
|
|
en: The title is displayed when the file is loaded.
|
|
|
|
- name: category
|
|
type: string
|
|
meta:
|
|
label:
|
|
de: Kategorie
|
|
en: Category
|
|
|
|
- name: tags
|
|
type: string[]
|
|
meta:
|
|
label:
|
|
de: Tags
|
|
en: Tags
|
|
widget: foreignKey
|
|
filter:
|
|
type: foreignKey
|
|
foreign:
|
|
collection: tag
|
|
id: id
|
|
sort: name
|
|
subNavigation: 0
|
|
render:
|
|
raw: true
|
|
eval: |
|
|
//js
|
|
$foreignEntry?.name
|
|
//!js
|
|
- name: comment
|
|
type: string
|
|
meta:
|
|
label:
|
|
de: Kommentar
|
|
en: Comment
|
|
inputProps:
|
|
multiline: true
|
|
|
|
- !include fields/manualSort.yml
|
|
indexes:
|
|
- name: fulltext # 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:$**
|