- name: contentType
  type: string
  meta:
      label: ""
      widget: select
      choices:
          - name: Bild
            id: image

          - name: Modul Import
            id: moduleImport

          - name: Text
            id: text

          - name: Informationsbrett
            id: infoBoard

          - name: Verschatelte Karte
            id: nestedCard

          - name: Top-Down
            id: topDown

          - name: Text mit Link
            id: textLink

          - name: Icon block
            id: iconBlocks

          - name: Netzwerk Veranstaltungen
            id: networkEvents

          - name: Veröffentlichungen
            id: publications

- name: networkEvents
  type: object[]
  meta:
      label: Netzwerkveranstaltungen
      dependsOn:
          eval: $parent.contentType == 'networkEvents'
      widget: containerLessObjectArray

  subFields:
      - name: beginDate
        type: date
        meta:
            label: Beginn
            containerProps:
                layout:
                    size:
                        default: "col-6"
                        small: "col-6"
                        large: "col-6"

      - name: endDate
        type: date
        meta:
            label: Ende
            containerProps:
                layout:
                    size:
                        default: "col-6"
                        small: "col-6"
                        large: "col-6"

      - name: title
        type: string
        meta:
            label: Titel

      - name: file
        type: string
        meta:
            label: downloadDatei
            widget: foreignKey # Verwendetes Widget.
            foreign:
                collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.
                id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird.
                subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird.
                #projection: xyz
                #sort: "title"
                render:
                    defaultCollectionViews: true

- name: publications
  type: object[]
  meta:
      label: Publikationen
      dependsOn:
          eval: $parent.contentType == 'publications'
      widget: containerLessObjectArray
      direction: row
  subFields:
      - name: content
        type: string
        meta:
            label: Inhalt
            widget: richtext

      - name: file
        type: string
        meta:
            label: downloadDatei
            widget: foreignKey # Verwendetes Widget.
            foreign:
                collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.
                id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird.
                subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird.
                #projection: xyz
                #sort: "title"
                render:
                    defaultCollectionViews: true

- name: iconBlocks
  type: object[]
  meta:
      label: Icon block
      dependsOn:
          eval: $parent.contentType == 'iconBlocks'
      widget: containerLessObjectArray
      direction: row
  subFields:
      - name: icon
        type: string
        meta:
            label: Icon
            widget: foreignKey # Verwendetes Widget.
            foreign:
                collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.
                id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird.
                subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird.
                #projection: xyz
                #sort: "title"
                render:
                    defaultCollectionViews: true
      - name: bigText
        type: string
        meta:
            label: oberer text
            containerProps:
                layout:
                    size:
                        default: "col-6"
                        small: "col-12"
                        large: "col-6"

      - name: smallText
        type: string
        meta:
            label: unterer Text
            containerProps:
                layout:
                    size:
                        default: "col-6"
                        small: "col-12"
                        large: "col-6"

- name: image
  type: string
  meta:
      label: Bild
      dependsOn:
          eval: $parent.contentType == 'image'
      widget: foreignKey # Verwendetes Widget.
      foreign:
          collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.
          id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird.
          subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird.
          #projection: xyz
          #sort: "title"
          render:
              defaultCollectionViews: true

- name: icons
  type: object[]
  meta:
      label: Icons
      helperText: "Für Personpreview xing und linkedin icons gedacht."
      widget: containerLessObjectArray
      direction: row
      dependsOn:
          eval: $parent.contentType == 'image'
  subFields:
      - name: icon
        type: string
        meta:
            label: Icon
            widget: foreignKey # Verwendetes Widget.
            foreign:
                collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.
                id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird.
                subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird.
                #projection: xyz
                #sort: "title"
                render:
                    defaultCollectionViews: true

      - name: link
        type: string
        meta:
            label: Link

- name: moduleImport
  type: string
  meta:
      label: Modul Import
      dependsOn:
          eval: $parent.contentType == 'moduleImport'
      widget: foreignKey
      foreign:
          collection: module
          id: id
          subNavigation: 0
          render:
              defaultCollectionViews: true

- name: text
  type: string
  meta:
      widget: richtext
      label: Text
      dependsOn:
          eval: $parent.contentType == 'text'

- name: infoBoard
  type: object
  meta:
      label: Informationsbrett
      widget: containerLessObject
      dependsOn:
          eval: $parent.contentType == 'infoBoard'
  subFields:
      - name: title
        type: string
        meta:
            label: Titel
            helperText: "Dieser Titel wird im Infobrett angezeigt."

      - name: text
        type: string
        meta:
            widget: richtext
            label: Text
            helperText: "Dieser Text wird im Infobrett angezeigt."

      - name: icon
        type: string
        meta:
            label: Icon
            helperText: "Das Icon wird im Infobrett angezeigt."
            widget: foreignKey # Verwendetes Widget.
            foreign:
                collection: medialib # Name der Sammlung, in der die ausgewählten Daten gespeichert sind.
                id: id # Feldname, das als eindeutige Kennung für die ausgewählten Daten verwendet wird.
                subNavigation: 0 # Bestimmt, welche Navigation für die Auswahl der ausgewählten Daten angezeigt wird.
                #projection: xyz
                #sort: "title"
                render:
                    defaultCollectionViews: true

- name: nestedCard
  type: object[]
  meta:
      label: Verschatelte Karte
      widget: containerLessObjectArray
      direction: row
      dependsOn:
          eval: $parent.contentType == 'nestedCard'
  subFields:
      - name: title
        type: string
        meta:
            label: Titel
            helperText: "Dieser Titel wird in der äußeren Karte angezeigt."
      - name: description
        type: string
        meta:
            widget: richtext
            label: Beschreibung
            helperText: "Diese Beschreibung wird in der inneren Karte angezeigt."

- name: topDown
  type: object
  meta:
      label: Top-Down
      widget: containerLessObject
      dependsOn:
          eval: $parent.contentType == 'topDown'
  subFields:
      - name: rows
        type: object[]
        meta:
            label: Zeilen
            widget: containerLessObjectArray
        subFields:
            - name: inital
              type: string
              meta:
                  label: Großbuchstabe
                  containerProps:
                      layout:
                          size:
                              default: "col-6"
                              small: "col-12"
                              large: "col-6"

            - name: rest
              type: string
              meta:
                  label: Rest
                  containerProps:
                      layout:
                          size:
                              default: "col-6"
                              small: "col-12"
                              large: "col-6"

            - name: description
              type: string
              meta:
                  label: Beschreibung

- name: textLink
  type: object
  meta:
      label: Text Link
      widget: containerLessObject
      dependsOn:
          eval: $parent.contentType == 'textLink'
  subFields:
      - name: text
        type: string
        meta:
            widget: richtext
            label: Text

      - name: link
        type: string
        meta:
            label:
                de: Seite
                en: page
            widget: select
            choices:
                endpoint: page
                params:
                    sort: path
                    projection: navigation
                mapping:
                    id: id
                    name: path
