Initial commit
This commit is contained in:
30
api/collections/banner.yml
Normal file
30
api/collections/banner.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
name: banner
|
||||
uploadPath: ../media/banner
|
||||
|
||||
meta:
|
||||
label: Banner
|
||||
muiIcon: web
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: banner
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
|
||||
fields:
|
||||
- name: banner
|
||||
type: string
|
||||
meta:
|
||||
label: Banner
|
||||
122
api/collections/content.yml
Normal file
122
api/collections/content.yml
Normal file
@@ -0,0 +1,122 @@
|
||||
name: content
|
||||
uploadPath: ../media/content
|
||||
|
||||
meta:
|
||||
label: Inhalt
|
||||
muiIcon: web
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: path
|
||||
tablist:
|
||||
activeTab: site
|
||||
tabs:
|
||||
- name: general
|
||||
label: Allgemein
|
||||
subFields:
|
||||
- source: path
|
||||
- name: teaser
|
||||
label: Teaser
|
||||
subFields:
|
||||
- source: showTeaser
|
||||
- source: teaserTitle
|
||||
- source: teaserDescription
|
||||
- source: teaserImages
|
||||
- name: site
|
||||
label: content
|
||||
subFields:
|
||||
- source: row
|
||||
|
||||
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
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
|
||||
projections:
|
||||
navigation:
|
||||
select:
|
||||
path: 1
|
||||
|
||||
fields:
|
||||
- type: string
|
||||
name: path
|
||||
meta:
|
||||
label: Pfad
|
||||
helperText: "Ein Pfad sollte mit einem / starten und ohne eins enden."
|
||||
|
||||
- name: showTeaser
|
||||
type: boolean
|
||||
meta:
|
||||
label: Anzeigen
|
||||
helperText: "Ist dies aktiviert, so wird der Teaser in der Startseite angezeigt."
|
||||
|
||||
- type: object[]
|
||||
name: teaserImages
|
||||
meta:
|
||||
label: Bider
|
||||
addElementLabel: Bild Hinzufügen
|
||||
helperText: "Bei mehreren Bildern wird ein Slider eingefügt."
|
||||
dependsOn:
|
||||
eval: $parent.showTeaser
|
||||
subFields:
|
||||
- name: image
|
||||
type: file
|
||||
meta:
|
||||
label: Bild
|
||||
|
||||
- type: string
|
||||
name: teaserTitle
|
||||
meta:
|
||||
label: Titel
|
||||
dependsOn:
|
||||
eval: $parent.showTeaser
|
||||
|
||||
- type: string
|
||||
name: teaserDescription
|
||||
meta:
|
||||
label: Beschreibung
|
||||
dependsOn:
|
||||
eval: $parent.showTeaser
|
||||
|
||||
- !include fields/pagebuilder.yml
|
||||
731
api/collections/fields/pagebuilder.yml
Normal file
731
api/collections/fields/pagebuilder.yml
Normal file
@@ -0,0 +1,731 @@
|
||||
type: object[]
|
||||
name: row
|
||||
meta:
|
||||
label: Zeile
|
||||
addElementLabel: Zeile hinzufügen
|
||||
folding:
|
||||
previewFolded: titleForWork
|
||||
previewUnfolded: titleForWork
|
||||
subFields:
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label: Titel
|
||||
- !include titleForWork.yml
|
||||
|
||||
- name: maxWidth
|
||||
type: boolean
|
||||
meta:
|
||||
label: Maximale Breite
|
||||
- name: iconBackgroundImage
|
||||
type: boolean
|
||||
meta:
|
||||
label: Hintergrund Wellen
|
||||
- name: iconBackgroundTitle
|
||||
type: boolean
|
||||
meta:
|
||||
label: Titel Highlights des Sees hinzufügen.
|
||||
|
||||
- name: noGap
|
||||
type: boolean
|
||||
meta:
|
||||
label: Keine Lücken
|
||||
|
||||
- name: column
|
||||
type: object[]
|
||||
meta:
|
||||
label: Spalte
|
||||
addElementLabel: weitere Spalte
|
||||
folding:
|
||||
previewFolded: contentType
|
||||
previewUnfolded: contentType
|
||||
css: &cols
|
||||
input:
|
||||
wrapper: |
|
||||
& > div > div {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: baseline;
|
||||
flex-wrap: wrap;
|
||||
padding-right: 40px;
|
||||
}
|
||||
& .add-element {
|
||||
width: 30px;
|
||||
min-height: 200px;
|
||||
|
||||
& > button {
|
||||
transform-origin: 0 0;
|
||||
transform: rotate(90deg) translateY(-100%);
|
||||
justify-content: left;
|
||||
width: 200px;
|
||||
}
|
||||
}
|
||||
element:
|
||||
eval: |
|
||||
`
|
||||
flex: 1;
|
||||
flex-grow: ${{"": 1, narrow: 0.5, medium: 1, wide: 2}[$element?.width]};
|
||||
min-width: 350px;
|
||||
height: 100%;
|
||||
`
|
||||
subFields:
|
||||
- name: contentType
|
||||
type: string
|
||||
meta:
|
||||
label: ""
|
||||
widget: select
|
||||
choices:
|
||||
- name: Hauptbild
|
||||
id: mainPicture
|
||||
- name: Bild
|
||||
id: image
|
||||
- name: Tabelle
|
||||
id: table
|
||||
- name: Informatiosübersicht
|
||||
id: infoBoard
|
||||
- name: Iconübersicht
|
||||
id: iconBoard
|
||||
- name: Formular
|
||||
id: form
|
||||
- name: Vieoswitch
|
||||
id: videos
|
||||
- name: Textfeld
|
||||
id: text
|
||||
- name: GoogleMaps
|
||||
id: googleMaps
|
||||
- name: Video
|
||||
id: video
|
||||
|
||||
- name: imageSlider
|
||||
type: object[]
|
||||
meta:
|
||||
label: Bild
|
||||
helperText: Wird nur ein Bild angegeben, so wird kein Slider verwendet.
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "image"
|
||||
subFields:
|
||||
- name: image
|
||||
type: file
|
||||
meta:
|
||||
label: Bild
|
||||
widget: image
|
||||
|
||||
- name: mainPicture
|
||||
type: file
|
||||
meta:
|
||||
widget: image
|
||||
label: Hauptbild
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "mainPicture"
|
||||
|
||||
- name: showGoogleMaps
|
||||
type: boolean
|
||||
meta:
|
||||
label: Anzeigen
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "googleMaps"
|
||||
|
||||
- name: inscription
|
||||
type: string
|
||||
meta:
|
||||
widget: text
|
||||
label: Aufschrift
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "mainPicture"
|
||||
|
||||
- name: textFieldHeading
|
||||
type: string
|
||||
meta:
|
||||
label: Überschrift
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "text"
|
||||
|
||||
- name: textContent
|
||||
type: string
|
||||
meta:
|
||||
label: Text
|
||||
widget: richtext
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "text"
|
||||
- name: siteReference
|
||||
type: boolean
|
||||
meta:
|
||||
label: Zeilenreferenzen
|
||||
helperText: Für die zweite Spalte neben Hauptbild empfohlen, refereziert alle Reihen auf der folgenden Seite.
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "text"
|
||||
|
||||
- name: tableFieldHeading
|
||||
type: string
|
||||
meta:
|
||||
label: Überschrift
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "table"
|
||||
|
||||
- name: annotation
|
||||
type: string
|
||||
meta:
|
||||
label: Anmerkung
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "table" || $parent.contentType == "form"
|
||||
|
||||
- name: table
|
||||
type: object[]
|
||||
meta:
|
||||
label: Tabelle
|
||||
addElementLabel: Tabelle Hinzufügen
|
||||
folding:
|
||||
previewFolded: titleForWork
|
||||
previewUnfolded: titleForWork
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "table"
|
||||
css:
|
||||
input:
|
||||
wrapper: |
|
||||
& .object-array-input-content{
|
||||
& .add-element {
|
||||
height: 30px;
|
||||
min-height: 0px;
|
||||
width: 100%;
|
||||
|
||||
& > button {
|
||||
transform-origin: 0 0;
|
||||
transform: rotate(0deg) translateY(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subFields:
|
||||
- !include titleForWork.yml
|
||||
- !include title.yml
|
||||
- name: hintsTable
|
||||
type: string
|
||||
meta:
|
||||
label: Hinweise
|
||||
widget: richtext
|
||||
- name: tableRow
|
||||
type: object[]
|
||||
meta:
|
||||
label: Zeile
|
||||
addElementLabel: Zeile hinzufügen
|
||||
css:
|
||||
input:
|
||||
wrapper: |
|
||||
& .object-array-input-content{
|
||||
& .add-element {
|
||||
height: 30px;
|
||||
min-height: 0px;
|
||||
width: 100%;
|
||||
|
||||
& > button {
|
||||
transform-origin: 0 0;
|
||||
transform: rotate(0deg) translateY(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subFields:
|
||||
- name: bold
|
||||
type: boolean
|
||||
meta:
|
||||
label: Dick
|
||||
- name: left
|
||||
type: string
|
||||
meta:
|
||||
label: Linke Seite
|
||||
- name: center
|
||||
type: string
|
||||
meta:
|
||||
label: Mitte
|
||||
- name: right
|
||||
type: string
|
||||
meta:
|
||||
label: Rechte Seite
|
||||
|
||||
- name: hintsTable
|
||||
type: string
|
||||
meta:
|
||||
label: Hinweise
|
||||
widget: richtext
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "table"
|
||||
|
||||
- name: siteRefs
|
||||
type: boolean
|
||||
meta:
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "table"
|
||||
label: Zeilenreferenzen
|
||||
helperText: Für die zweite Spalte neben Hauptbild empfohlen, refereziert alle Reihen auf der folgenden Seite.
|
||||
|
||||
- name: image
|
||||
type: file
|
||||
meta:
|
||||
label: Bild
|
||||
widget: image
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "infoBoard"
|
||||
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label: Titel
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "infoBoard"
|
||||
|
||||
- name: text
|
||||
type: string
|
||||
meta:
|
||||
label: description
|
||||
widget: richtext
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "infoBoard"
|
||||
|
||||
- name: links
|
||||
type: object[]
|
||||
meta:
|
||||
label: Links
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "infoBoard"
|
||||
subFields:
|
||||
- name: name
|
||||
type: string
|
||||
meta:
|
||||
label: Name
|
||||
- name: site
|
||||
type: string
|
||||
meta:
|
||||
label: Seite
|
||||
widget: select
|
||||
choices:
|
||||
endpoint: content
|
||||
mapping:
|
||||
id: path
|
||||
name: path
|
||||
|
||||
- name: iconBoard
|
||||
type: object[]
|
||||
|
||||
meta:
|
||||
label: Icons
|
||||
css:
|
||||
input:
|
||||
wrapper: |
|
||||
& .object-array-input-content{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
element: |
|
||||
& {
|
||||
flex-grow: 1;
|
||||
min-width: 33%;
|
||||
marin-top: 0px !important;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "iconBoard"
|
||||
subFields:
|
||||
- name: icon
|
||||
type: file
|
||||
meta:
|
||||
widget: image
|
||||
label: Icon
|
||||
- name: subText
|
||||
type: string
|
||||
meta:
|
||||
label: Text
|
||||
|
||||
- name: video
|
||||
type: file
|
||||
meta:
|
||||
widget: file
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "video"
|
||||
|
||||
- name: titleVideo
|
||||
type: string
|
||||
meta:
|
||||
label: Titel
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "video"
|
||||
|
||||
- name: descriptionVideo
|
||||
type: string
|
||||
meta:
|
||||
label: Beschreibung
|
||||
widget: richtext
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "video"
|
||||
|
||||
- name: videoSwitch
|
||||
type: object[]
|
||||
validator:
|
||||
eval: |
|
||||
(function(){
|
||||
if($parent.contentType != "videos") return true;
|
||||
return $parent.videoSwitch.length == 2;
|
||||
})()
|
||||
meta:
|
||||
label: Videoswitch
|
||||
helperText: Hier sind 2 Angaben notwendig!
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "videos"
|
||||
folding:
|
||||
previewFolded: titleForWork
|
||||
previewUnfolded: titleForWork
|
||||
css:
|
||||
input:
|
||||
wrapper: |
|
||||
& .object-array-input-content{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
element: |
|
||||
& {
|
||||
flex-grow: 1;
|
||||
margin-top: 0px !important;
|
||||
height: 100%;
|
||||
}
|
||||
subFields:
|
||||
- name: video
|
||||
type: file
|
||||
meta:
|
||||
widget: file
|
||||
- !include titleForWork.yml
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label: Titel
|
||||
- name: description
|
||||
type: string
|
||||
meta:
|
||||
widget: richtext
|
||||
label: Beschreibung
|
||||
- name: link
|
||||
type: string
|
||||
meta:
|
||||
label: link
|
||||
widget: select
|
||||
choices:
|
||||
endpoint: content
|
||||
mapping:
|
||||
id: path
|
||||
name: path
|
||||
|
||||
- name: formEmailTitle
|
||||
type: string
|
||||
meta:
|
||||
label: Formular Email Titel
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "form"
|
||||
|
||||
- name: formRows
|
||||
type: object[]
|
||||
meta:
|
||||
label: Zeile
|
||||
addElementLabel: Zeile Hinzufügen
|
||||
dependsOn:
|
||||
eval: $parent.contentType == "form"
|
||||
|
||||
subFields:
|
||||
- name: rowName
|
||||
type: string
|
||||
meta:
|
||||
label: Zeilenname
|
||||
- name: columns
|
||||
type: object[]
|
||||
|
||||
meta:
|
||||
label: Spalte
|
||||
addElementLabel: Spalte hinzufügen
|
||||
folding:
|
||||
previewFolded: titleForWork
|
||||
previewUnfolded: titleForWork
|
||||
css: *cols
|
||||
subFields:
|
||||
- !include titleForWork.yml
|
||||
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label: Überschrift
|
||||
helperText: Optional
|
||||
|
||||
- name: showLabelNumber
|
||||
type: boolean
|
||||
meta:
|
||||
label: Label Nummerinput Anzeigen
|
||||
|
||||
- name: labelNumber
|
||||
type: object[]
|
||||
meta:
|
||||
label: Nummber block
|
||||
dependsOn:
|
||||
eval: $parent?.showLabelNumber
|
||||
subFields:
|
||||
- name: group
|
||||
type: number
|
||||
meta:
|
||||
label: Gruppe
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label: Titel
|
||||
- name: emailName
|
||||
type: string
|
||||
meta:
|
||||
label: Email Name
|
||||
- name: block
|
||||
type: object[]
|
||||
meta:
|
||||
label: Block
|
||||
subFields:
|
||||
- name: label
|
||||
type: string
|
||||
meta:
|
||||
label: Label
|
||||
|
||||
- name: emailName
|
||||
type: string
|
||||
meta:
|
||||
label: Email Name
|
||||
|
||||
- name: showTimes
|
||||
type: boolean
|
||||
meta:
|
||||
label: Zeitenauswahlfeld Anzeigen
|
||||
|
||||
- name: times
|
||||
type: object[]
|
||||
meta:
|
||||
label: Zeitenangabe
|
||||
helperText: "Die Angaben werden in folgendes Übersetzt: Anfangspunkt - Endpunkt"
|
||||
dependsOn:
|
||||
eval: $parent?.showTimes
|
||||
css: ×Css
|
||||
input:
|
||||
wrapper: |
|
||||
& .object-array-input-content {
|
||||
.add-element{
|
||||
transform-origin: right;
|
||||
margin-left: 80px;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.object .sliceFields{
|
||||
display: flex;
|
||||
.field-input-wrapper{
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subFields:
|
||||
- name: timeFrom
|
||||
type: string
|
||||
meta:
|
||||
label: Anfangspunkt
|
||||
helperText: Bspw. 14:30
|
||||
|
||||
- name: timeTo
|
||||
type: string
|
||||
meta:
|
||||
label: Endpunkt
|
||||
helperText: Bspw. 15:30
|
||||
|
||||
- name: timesPlaceholder
|
||||
type: string
|
||||
meta:
|
||||
label: Platzhalter im leeren Eingabefeld
|
||||
dependsOn:
|
||||
eval: $parent?.showTimes
|
||||
|
||||
- name: timesfieldOrder
|
||||
type: number
|
||||
meta:
|
||||
label: Reihenfolge
|
||||
helperText: Die kleinste angegebene Zahl wird am weitesten oben in der Formularspalte stehen
|
||||
dependsOn:
|
||||
eval: $parent?.showTimes
|
||||
|
||||
- name: dateSelectNotRequired
|
||||
type: boolean
|
||||
meta:
|
||||
label: nicht Notwendig
|
||||
dependsOn:
|
||||
eval: $parent?.showTimes
|
||||
|
||||
- name: emailNameTimes
|
||||
type: string
|
||||
meta:
|
||||
label: Email Name
|
||||
dependsOn:
|
||||
eval: $parent?.showTimes
|
||||
|
||||
- name: showSelect
|
||||
type: boolean
|
||||
meta:
|
||||
label: Auswahlfeld anzeigen
|
||||
|
||||
- name: selectTitle
|
||||
type: string
|
||||
meta:
|
||||
label: Select Placeholdertext
|
||||
dependsOn:
|
||||
eval: $parent.showSelect
|
||||
|
||||
- name: selectEntries
|
||||
type: object[]
|
||||
meta:
|
||||
label: Auswahleingabe
|
||||
helperText: "Die Angaben werden in folgendes Übersetzt: Anfangspunkt - Endpunkt"
|
||||
dependsOn:
|
||||
eval: $parent.showSelect
|
||||
css: *timesCss
|
||||
|
||||
subFields:
|
||||
- name: leftSide
|
||||
type: string
|
||||
meta:
|
||||
label: Anfangspunkt
|
||||
helperText: Bspw. 14:30
|
||||
|
||||
- name: rightSide
|
||||
type: string
|
||||
meta:
|
||||
label: Endpunkt
|
||||
helperText: Bspw. 15:30
|
||||
- name: timeNotRequired
|
||||
type: boolean
|
||||
meta:
|
||||
label: nicht Notwendig
|
||||
dependsOn:
|
||||
eval: $parent?.showSelect
|
||||
|
||||
- name: selectPlaceholder
|
||||
type: string
|
||||
meta:
|
||||
label: Platzhalter im leeren Eingabefeld
|
||||
dependsOn:
|
||||
eval: $parent?.showSelect
|
||||
|
||||
- name: emailNameTime
|
||||
type: string
|
||||
meta:
|
||||
label: Email Name
|
||||
dependsOn:
|
||||
eval: $parent?.showSelect
|
||||
|
||||
- name: showDate
|
||||
type: boolean
|
||||
meta:
|
||||
label: Datumsauswahl
|
||||
|
||||
- name: datePlaceholder
|
||||
type: string
|
||||
meta:
|
||||
label: Datum Platzhalter für das leere Eingabefeld
|
||||
dependsOn:
|
||||
eval: $parent?.showDate
|
||||
|
||||
- name: datefieldOrder
|
||||
type: number
|
||||
meta:
|
||||
label: Reihenfolge
|
||||
helperText: Die kleinste angegebene Zahl wird am weitesten oben in der Formularspalte stehen
|
||||
dependsOn:
|
||||
eval: $parent?.showDate
|
||||
|
||||
- name: dateNotRequired
|
||||
type: boolean
|
||||
meta:
|
||||
label: nicht Notwendig
|
||||
dependsOn:
|
||||
eval: $parent?.showDate
|
||||
|
||||
- name: emailNameDate
|
||||
type: string
|
||||
meta:
|
||||
label: Email Name
|
||||
dependsOn:
|
||||
eval: $parent?.showDate
|
||||
|
||||
- name: showNumber
|
||||
type: boolean
|
||||
meta:
|
||||
label: Nummerfeld
|
||||
|
||||
- name: numberPlaceholder
|
||||
type: string
|
||||
meta:
|
||||
label: Nummer Platzhalter
|
||||
dependsOn:
|
||||
eval: $parent?.showNumber
|
||||
|
||||
- name: numberfieldOrder
|
||||
type: number
|
||||
meta:
|
||||
label: Reihenfolge
|
||||
helperText: Die kleinste angegebene Zahl wird am weitesten oben in der Formularspalte stehen
|
||||
dependsOn:
|
||||
eval: $parent?.showNumber
|
||||
|
||||
- name: numberNotRequired
|
||||
type: boolean
|
||||
meta:
|
||||
label: nicht Notwendig
|
||||
dependsOn:
|
||||
eval: $parent?.showNumber
|
||||
|
||||
- name: emailNameNumber
|
||||
type: string
|
||||
meta:
|
||||
label: Email Name
|
||||
dependsOn:
|
||||
eval: $parent?.showNumber
|
||||
|
||||
- name: text
|
||||
type: object[]
|
||||
meta:
|
||||
label: Textfeld
|
||||
addElementLabel: Textfeld hinzufügen
|
||||
folding:
|
||||
previewFolded: titleForWork
|
||||
previewUnfolded: titleForWork
|
||||
|
||||
subFields:
|
||||
- !include titleForWork.yml
|
||||
- name: textPlaceholder
|
||||
type: string
|
||||
meta:
|
||||
label: Platzhalter für das leere Eingabefeld
|
||||
|
||||
- name: textArea
|
||||
type: boolean
|
||||
meta:
|
||||
label: Großes Textfeld
|
||||
|
||||
- name: emailValidation
|
||||
type: boolean
|
||||
meta:
|
||||
label: E-Mail-Validierung
|
||||
|
||||
- name: telValidation
|
||||
type: boolean
|
||||
meta:
|
||||
label: Telefon-Validierung
|
||||
- name: notRequired
|
||||
type: boolean
|
||||
meta:
|
||||
label: nicht Notwendig
|
||||
|
||||
- name: emailName
|
||||
type: string
|
||||
meta:
|
||||
label: Email Name
|
||||
|
||||
- name: textfieldOrder
|
||||
type: number
|
||||
meta:
|
||||
label: Reihenfolge
|
||||
helperText: Die kleinste angegebene Zahl wird am weitesten oben in der Formularspalte stehen
|
||||
4
api/collections/fields/title.yml
Normal file
4
api/collections/fields/title.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
name: title
|
||||
type: string
|
||||
meta:
|
||||
label: Titel
|
||||
4
api/collections/fields/titleForWork.yml
Normal file
4
api/collections/fields/titleForWork.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
name: titleForWork
|
||||
type: string
|
||||
meta:
|
||||
label: Orientierungstitel
|
||||
40
api/collections/forms.yml
Normal file
40
api/collections/forms.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
name: forms
|
||||
uploadPath: ../media/forms
|
||||
|
||||
meta:
|
||||
label: Formulare
|
||||
muiIcon: web
|
||||
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: formular
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
hooks:
|
||||
post:
|
||||
create:
|
||||
type: javascript
|
||||
file: hooks/forms/post_create.js
|
||||
return:
|
||||
type: javascript
|
||||
file: hooks/forms/post_return.js
|
||||
|
||||
fields:
|
||||
- type: object
|
||||
name: formular
|
||||
meta:
|
||||
label: Formular
|
||||
widget: jsonField
|
||||
134
api/collections/navigation.yml
Normal file
134
api/collections/navigation.yml
Normal file
@@ -0,0 +1,134 @@
|
||||
name: navigation
|
||||
uploadPath: ../media/navigation
|
||||
|
||||
meta:
|
||||
label: "Navigation"
|
||||
muiIcon: navigation
|
||||
views:
|
||||
- type: simpleList
|
||||
mediaQuery: "(max-width:599px)"
|
||||
primaryText: tree
|
||||
|
||||
- type: table
|
||||
mediaQuery: "(min-width:600px)"
|
||||
columns:
|
||||
- source: tree
|
||||
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: true
|
||||
delete: false
|
||||
|
||||
x-endpoint: &endpoint
|
||||
name: endpoint
|
||||
type: boolean
|
||||
meta:
|
||||
defaultValue:
|
||||
eval: 1 == 1
|
||||
label: Endpunkt
|
||||
|
||||
x-elemente: &elemente
|
||||
name: elemente
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Elemente
|
||||
en: elements
|
||||
folding:
|
||||
previewUnfolded: name
|
||||
previewFolded: name
|
||||
|
||||
x-name: &name
|
||||
name: name
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Name
|
||||
en: name
|
||||
helperText: Dieser Name wird zur Anzeige in der Navigation verwendet.
|
||||
|
||||
x-seite: &seite
|
||||
name: seite
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Seite
|
||||
en: page
|
||||
widget: select
|
||||
dependsOn:
|
||||
eval: |
|
||||
(function(){
|
||||
if($parent.endpoint == undefined) return true;
|
||||
return $parent.endpoint
|
||||
})()
|
||||
|
||||
choices:
|
||||
endpoint: content
|
||||
params:
|
||||
sort: path
|
||||
projection: navigation
|
||||
mapping:
|
||||
id: id
|
||||
name: path
|
||||
|
||||
fields:
|
||||
- name: tree
|
||||
type: number
|
||||
meta:
|
||||
label: Baum
|
||||
widget: select
|
||||
helperText: Die Servicenavigation sollte Seiten wie bspw. die Datneschutzerklärung oder das Impressum umfassen.
|
||||
choices:
|
||||
- id: 0
|
||||
name:
|
||||
de: Hauptnavigation
|
||||
en: main navigation
|
||||
- id: 1
|
||||
name:
|
||||
de: Servicenavigation
|
||||
en: service navigation
|
||||
|
||||
- <<: *elemente
|
||||
subFields:
|
||||
- *endpoint
|
||||
- *name
|
||||
- *seite
|
||||
- name: image
|
||||
type: file
|
||||
meta:
|
||||
label: Bild
|
||||
dependsOn:
|
||||
eval: |
|
||||
(function(){
|
||||
if($parent.endpoint == undefined) return false;
|
||||
return !$parent.endpoint
|
||||
})()
|
||||
|
||||
- name: elemente
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Elemente
|
||||
en: elements
|
||||
dependsOn:
|
||||
eval: |
|
||||
(function(){
|
||||
if($parent.endpoint == undefined) return false;
|
||||
return !$parent.endpoint
|
||||
})()
|
||||
folding:
|
||||
previewUnfolded: name
|
||||
previewFolded: name
|
||||
subFields:
|
||||
- *name
|
||||
- *seite
|
||||
62
api/collections/ssr.yml
Normal file
62
api/collections/ssr.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
########################################################################
|
||||
# SSR Dummy collections
|
||||
########################################################################
|
||||
|
||||
name: ssr
|
||||
meta:
|
||||
label: { de: "SSR Dummy", en: "ssr dummy" }
|
||||
muiIcon: server
|
||||
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: true
|
||||
put: false
|
||||
delete: false
|
||||
|
||||
hooks:
|
||||
get:
|
||||
read:
|
||||
type: javascript
|
||||
file: hooks/ssr/get_read.js
|
||||
post:
|
||||
bind:
|
||||
type: javascript
|
||||
file: hooks/ssr/post_bind.js
|
||||
|
||||
# we only need hooks
|
||||
fields:
|
||||
- name: path
|
||||
type: string
|
||||
index: [single, unique]
|
||||
- name: content
|
||||
type: string
|
||||
meta:
|
||||
inputProps:
|
||||
multiline: true
|
||||
30
api/collections/temperature.yml
Normal file
30
api/collections/temperature.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
name: temperature
|
||||
uploadPath: ../media/temperature
|
||||
|
||||
meta:
|
||||
label: Temperatur
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: temperature
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
|
||||
fields:
|
||||
- name: temperature
|
||||
type: number
|
||||
meta:
|
||||
label: Temperatur
|
||||
helperText: do not modify, will be modified automatically hourly.
|
||||
Reference in New Issue
Block a user