This commit is contained in:
2021-03-22 15:59:05 +01:00
parent dd27483b16
commit 626e83d010
46 changed files with 5636 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
########################################################################
# contact_form
########################################################################
name: contact_form
uploadPath: ../media/contact_form
meta:
label: { de: "Kontaktformular", en: "Contact Form" }
muiIcon: email
rowIdentTpl: { twig: "{{ email }} - {{ subject }}" }
views:
- type: simpleList
mediaQuery: "(max-width: 600px)"
primaryText: email
secondaryText: subject
tertiaryText: insertTime
- type: table
columns:
- insertTime
- email
- subject
permissions:
public:
methods:
get: false
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: true
put: false
delete: false
hooks:
post:
create:
type: javascript
file: hooks/contact_form/post_create.js
return:
type: javascript
file: hooks/contact_form/post_return.js
fields:
- name: firstname
type: string
meta:
label: { de: "Vorname", en: "firstname" }
- name: lastname
type: string
meta:
label: { de: "Nachname", en: "lastname" }
- name: email
type: string
meta:
label: { de: "Email", en: "email" }
- name: postcode
type: string
meta:
label: { de: "Postleitzahl", en: "postcode" }
- name: subject
type: string
meta:
label: { de: "Betreff", en: "subject" }
- name: message
type: string
meta:
label: { de: "Nachricht", en: "message" }
- name: files
type: object[]
meta:
label: { de: "Dateien", en: "files" }
subFields:
- name: file
type: file
meta:
label: { de: "", en: "" }
- name: title
type: string
meta:
label: { de: "Dateititel", en: "file title" }

164
api/collections/content.yml Normal file
View File

@@ -0,0 +1,164 @@
###############################################################
# Content Blöcke
###############################################################
# Name/URL-Anteil der Kollektion
name: content
uploadPath: ../media/content
# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
meta:
# Navigationseintrag in der Admin-UI
label: { de: "Inhaltsblöcke", en: "Content Blocks" }
# Icon (Material UI) für den Navigationseintrag
muiIcon: web
# 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:
# Mobile Darstellung
- type: simpleList
mediaQuery: "(max-width:599px)"
primaryText: path
# Desktop
- type: table
mediaQuery: "(min-width:600px)"
columns:
- path
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
# Zugriff auf diese Kollektion
permissions:
# öffentlicher Zugriff
public:
methods:
# Liste und Einzeleinträge lesen
get: true
# neuen Eintrag anlegen
post: false
# Eintrag editieren
put: false
# Eintrag löschen
delete: false
# zum Projekt zugeordneter Benutzer ohne Zusatzberechtigungen
user:
methods:
get: true
post: true
put: true
delete: true
hooks:
post:
return:
type: javascript
file: hooks/content/post_return.js
put:
return:
type: javascript
file: hooks/content/put_return.js
delete:
return:
type: javascript
file: hooks/content/delete_return.js
# Feldliste der Kollektion
fields:
- name: path
type: string
index: [ single, unique ]
meta:
label: { de: "Pfad", en: "Path" }
- name: blocks
type: object[]
meta:
label: { de: "Oben", en: "Top" }
subFields:
- name: layout
type: number
meta:
widget: select
label: { de: "Layout", en: "layout" }
choices:
- { id: 1, name: { de: "Bild links", en: "image left" } }
- { id: 2, name: { de: "Bild rechts", en: "image right" } }
- {
id: 3,
name:
{ de: "Bild über Text", en: "image above text" },
}
- {
id: 4,
name:
{ de: "Bild unter Text", en: "image below text" },
}
- name: title
type: string
meta:
label: { de: "Titel", en: "title" }
- name: subtitle
type: string
meta:
label: { de: "Untertitel", en: "subtitle" }
- name: text
type: string
meta:
widget: richtext
label: { de: "Text", en: "text" }
- name: button_text
type: string
meta:
label: { de: "Button-Text", en: "button text" }
- name: button_url
type: string
meta:
label: { de: "Button-URL", en: "button URL" }
- name: images
type: object[]
meta:
label: { de: "Bild(er)", en: "image(s)" }
subFields:
- name: file
type: file
meta:
widget: image
label: { de: "Datei", en: "file" }
- name: label
type: string
meta:
label: { de: "Label", en: "label" }

59
api/collections/ssr.yml Normal file
View File

@@ -0,0 +1,59 @@
########################################################################
# SSR Dummy collections
########################################################################
name: ssr
meta:
label: { de: "SSR Dummy", en: "ssr dummy" }
muiIcon: http
rowIdentTpl: { twig: "{{ id }}" }
views:
- type: simpleList
mediaQuery: "(max-width: 600px)"
primaryText: id
secondaryText: insertTime
tertiaryText: path
- type: table
columns:
- id
- insertTime
- path
permissions:
public:
methods:
get: false
post: false
put: false
delete: false
user:
methods:
get: false
post: false
put: false
delete: false
"token:${SSR_TOKEN}":
methods:
# only via url=
get: true
post: false
put: false
delete: false
hooks:
get:
read:
type: javascript
file: hooks/ssr/get_read.js
post:
create:
type: javascript
file: hooks/ssr/post_create.js
# we only need hooks
fields:
- name: path
type: string
index: [single, unique]
- name: content
type: string