my-notes-viewer/api/collections/mediaLibrary.yml

136 lines
3.4 KiB
YAML

###############################################################
# Media Library
###############################################################
# Name/URL-Anteil der Kollektion
name: media-library
uploadPath: ../media/media-library
# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
meta:
# Navigationseintrag in der Admin-UI
label: { de: "Medien", en: "Media Library" }
# Icon (Material UI) für den Navigationseintrag
muiIcon: file-document-multiple
# Identifizierung eines Eintrags für z.B. Select-Boxen in der Admin-UI
rowIdentTpl: { twig: "{{ path }}" }
# Standardsortierung der Liste
defaultSort: { field: "path", order: "ASC" }
# Admin-Backend Ansichten
defaultImageFilter: s
views:
- type: simpleList
mediaQuery: "(max-width:479px)"
columns:
- file
- source: title
filter: true
- source: tags
filter: true
- source: tags2
filter: true
- type: mediaLibrary
mediaQuery: "(min-width:480px)"
columns:
- file
- source: title
filter: true
- source: tags
filter: true
- source: tags2
filter: true
# list:
# columns:
# - file
# - title
# tile:
# width: 200px
# height: auto
# grid:
# - { source: file }
# - { source: title, width: 50%, label: "Titel" }
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
permissions:
public:
methods:
get: true
post: false
put: false
delete: false
user:
methods:
get: true
post: false
put: false
delete: false
# token als Zusatzsicherung gegen Spam, mehr siehe Hook
"token:${PUBLIC_TOKEN}":
methods:
get: false
post: false
put: false
delete: false
# Feldliste der Kollektion
fields:
- name: title
type: string
meta:
label: { de: "Titel des Dokuments/Bild", en: "Document/Image Title" }
- name: tags
type: string[]
meta:
widget: chipArray
label:
de: Tags / Labels
en: Tags / Labels
# allowedAddEntry:
# collection: "tags"
autocomplete: true
choices:
endpoint: "tags"
mapping:
id: "id"
name: "name"
params:
count: 1
sort: "ASC"
query: ""
- name: file
type: file
meta:
widget: mediaFile
label: { de: "Datei", en: "File" }