187 lines
4.9 KiB
YAML
187 lines
4.9 KiB
YAML
name: contact
|
|
|
|
# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
|
|
meta:
|
|
openapi:
|
|
disabled: true
|
|
# Navigationseintrag in der Admin-UI
|
|
label:
|
|
de: Kontaktanfragen
|
|
en: Contact request
|
|
# Icon (Material UI) für den Navigationseintrag
|
|
muiIcon: web
|
|
defaultSort:
|
|
field: insertTime
|
|
order: DESC
|
|
backup:
|
|
active: true
|
|
collectionName: backups
|
|
|
|
views: &views # Mobile Darstellung
|
|
- type: simpleList
|
|
mediaQuery: "(max-width:599px)"
|
|
primaryText: status
|
|
secondaryText: request.email
|
|
|
|
# Desktop
|
|
- type: table
|
|
mediaQuery: "(min-width:600px)"
|
|
columns:
|
|
- source: status
|
|
label:
|
|
de: Status
|
|
en: Status
|
|
filter: true
|
|
- source: request.email
|
|
label:
|
|
de: E-Mail
|
|
en: E-Mail
|
|
filter: true
|
|
- source: request.name
|
|
label:
|
|
de: Name
|
|
en: Name
|
|
filter: true
|
|
- source: request.description
|
|
label:
|
|
de: Beschreibung
|
|
en: Description
|
|
filter: true
|
|
- source: insertTime
|
|
label:
|
|
de: Erstellt am
|
|
en: Created at
|
|
filter: true
|
|
|
|
subNavigation:
|
|
- name: modalForeign
|
|
defaultSort:
|
|
field: "path"
|
|
order: "ASC"
|
|
views: *views
|
|
defaultCallback:
|
|
eval: |
|
|
//js
|
|
(entry) => {
|
|
parent.selectEntry(entry)
|
|
}
|
|
//!js
|
|
- name: new
|
|
label:
|
|
de: Neu
|
|
en: New
|
|
muiIcon: new
|
|
defaultSort:
|
|
field: insertTime
|
|
order: DESC
|
|
views: *views
|
|
filter:
|
|
status: new
|
|
- name: inProgress
|
|
label:
|
|
de: In Bearbeitung
|
|
en: In Progress
|
|
muiIcon: inProgress
|
|
defaultSort:
|
|
field: insertTime
|
|
order: DESC
|
|
views: *views
|
|
filter:
|
|
status: inProgress
|
|
- name: done
|
|
label:
|
|
de: Abgeschlossen
|
|
en: Done
|
|
muiIcon: done
|
|
defaultSort:
|
|
field: insertTime
|
|
order: DESC
|
|
views: *views
|
|
filter:
|
|
status: done
|
|
hooks:
|
|
post:
|
|
create:
|
|
type: javascript
|
|
file: hooks/contact/post_create.js
|
|
return:
|
|
type: javascript
|
|
file: hooks/contact/post_return.js
|
|
permissions:
|
|
public:
|
|
methods:
|
|
get: false
|
|
post: true
|
|
put: false
|
|
delete: false
|
|
|
|
user:
|
|
methods:
|
|
get: true
|
|
post: true
|
|
put: true
|
|
delete: true
|
|
|
|
# Feldliste der Kollektion
|
|
fields:
|
|
- name: status
|
|
type: string
|
|
meta:
|
|
label:
|
|
de: Status
|
|
en: Status
|
|
widget: select
|
|
choices:
|
|
- name: neue
|
|
id: new
|
|
- name: in Bearbeitung
|
|
id: inProgress
|
|
- name: abgeschlossen
|
|
id: done
|
|
|
|
- name: request
|
|
type: object
|
|
meta:
|
|
label:
|
|
de: Anfrage
|
|
en: Request
|
|
subFields:
|
|
- name: email
|
|
type: string
|
|
meta:
|
|
label:
|
|
de: E-Mail
|
|
en: E-Mail
|
|
containerProps:
|
|
layout:
|
|
size:
|
|
default: "col-6"
|
|
small: "col-12"
|
|
large: "col-6"
|
|
|
|
- name: name
|
|
type: string
|
|
meta:
|
|
label:
|
|
de: Name
|
|
en: Name
|
|
containerProps:
|
|
layout:
|
|
size:
|
|
default: "col-6"
|
|
small: "col-12"
|
|
large: "col-6"
|
|
|
|
- name: description
|
|
type: string
|
|
meta:
|
|
label:
|
|
de: Beschreibung
|
|
en: Description
|
|
inputProps:
|
|
multiline: true
|
|
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:$**
|