name: module

meta:
    label: Module
    allowExportAll: true
    backup:
        active: true
        collectionName: backups

    views:
        - type: table
          columns:
              - source: type
                name: Typ
                filter: true

    subNavigation:
        - name: modal
          views:
              - type: table
                columns:
                    - source: type
          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.
                  }
                  //!js
hooks:
    post:
        return:
            type: javascript
            file: hooks/clear_cache.js
    put:
        return:
            type: javascript
            file: hooks/clear_cache.js

permissions:
    public:
        methods:
            get: true
            post: false
            put: false
            delete: false
    user:
        methods:
            get: true
            post: true
            put: true
            delete: true

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: 1240
          width: 1240
          resampling: lanczos
          quality: 60
    xl:
        - fit: true
          height: 2000
          width: 2000
          resampling: lanczos
          quality: 60

fields:
    - name: type
      type: string
      meta:
          label:
            de: Modultyp
            en: Module Type
          helperText:
            de:  "Wählen Sie den Typ des Moduls aus."
            en: "Choose the type of the module."
          widget: select
          choices:
              - name: { de: "Formular", en: "Form" }
                id: form
    - name: form
      type: object
      meta:
          widget: containerLessObject
      subFields: !include fieldLists/formular/form.yml
