###############################################################
# 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" }
