cleanup
This commit is contained in:
@@ -1,51 +0,0 @@
|
||||
name: action
|
||||
|
||||
# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
|
||||
meta:
|
||||
openapi:
|
||||
disabled: true
|
||||
# Navigationseintrag in der Admin-UI
|
||||
label: { de: "Action", en: "Action" }
|
||||
# Icon (Material UI) für den Navigationseintrag
|
||||
muiIcon: web
|
||||
views:
|
||||
# Mobile Darstellung
|
||||
- type: simpleList
|
||||
mediaQuery: "(max-width:599px)"
|
||||
primaryText: id
|
||||
|
||||
# Desktop
|
||||
- type: table
|
||||
mediaQuery: "(min-width:600px)"
|
||||
columns:
|
||||
- id
|
||||
|
||||
permissions:
|
||||
# öffentlicher Zugriff
|
||||
public:
|
||||
methods:
|
||||
# Liste und Einzeleinträge lesen
|
||||
# checked via hook
|
||||
get: false
|
||||
# neuen Eintrag anlegen
|
||||
post: true
|
||||
# Eintrag editieren
|
||||
put: false
|
||||
# Eintrag löschen
|
||||
delete: false
|
||||
# zum Projekt zugeordneter Benutzer ohne Zusatzberechtigungen
|
||||
user:
|
||||
methods:
|
||||
get: false
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
|
||||
hooks:
|
||||
post:
|
||||
create:
|
||||
type: javascript
|
||||
file: hooks/action/post_create.js
|
||||
|
||||
# Feldliste der Kollektion
|
||||
fields: []
|
||||
@@ -29,42 +29,35 @@ hooks:
|
||||
create:
|
||||
type: javascript
|
||||
file: hooks/backups/post_create.js
|
||||
return:
|
||||
type: javascript
|
||||
file: hooks/clear_cache.js
|
||||
put:
|
||||
return:
|
||||
type: javascript
|
||||
file: hooks/clear_cache.js
|
||||
|
||||
fields:
|
||||
- name: collectionName
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Collection Name
|
||||
en: Collection Name
|
||||
label:
|
||||
de: Collection Name
|
||||
en: Collection Name
|
||||
|
||||
- name: entryId
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Entry ID
|
||||
en: Entry ID
|
||||
de: Entry ID
|
||||
en: Entry ID
|
||||
|
||||
- name: versionNr
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
de: Version Nr
|
||||
en: Version Nr
|
||||
de: Version Nr
|
||||
en: Version Nr
|
||||
|
||||
- name: manipulatedBy
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Manipulated By
|
||||
en: Manipulated By
|
||||
de: Manipulated By
|
||||
en: Manipulated By
|
||||
|
||||
- name: eventDescription
|
||||
type: string
|
||||
@@ -73,59 +66,58 @@ fields:
|
||||
widget: select
|
||||
choices:
|
||||
- id: create
|
||||
name:
|
||||
de: Erstellt
|
||||
en: Create
|
||||
name:
|
||||
de: Erstellt
|
||||
en: Create
|
||||
- id: update
|
||||
name:
|
||||
de: Update
|
||||
en: Update
|
||||
name:
|
||||
de: Update
|
||||
en: Update
|
||||
- id: delete
|
||||
name:
|
||||
de: Gelöscht
|
||||
en: Delete
|
||||
name:
|
||||
de: Gelöscht
|
||||
en: Delete
|
||||
- id: recreate
|
||||
name:
|
||||
de: Wiederhergestellt
|
||||
en: Recreate
|
||||
de: Wiederhergestellt
|
||||
en: Recreate
|
||||
- id: activate
|
||||
name:
|
||||
de: Aktiviert
|
||||
en: Activate
|
||||
name:
|
||||
de: Aktiviert
|
||||
en: Activate
|
||||
|
||||
- name: updateLogs
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Veränderungen
|
||||
en: Update Logs
|
||||
label:
|
||||
de: Veränderungen
|
||||
en: Update Logs
|
||||
|
||||
subFields:
|
||||
- name: field
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Feldname
|
||||
en: Fieldname
|
||||
label:
|
||||
de: Feldname
|
||||
en: Fieldname
|
||||
|
||||
- name: previous
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Vorheriger Wert
|
||||
en: Previous Value
|
||||
label:
|
||||
de: Vorheriger Wert
|
||||
en: Previous Value
|
||||
|
||||
- name: current
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
|
||||
de: Aktueller Wert
|
||||
en: Current Value
|
||||
label:
|
||||
de: Aktueller Wert
|
||||
en: Current Value
|
||||
|
||||
- name: entry
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Eintrag
|
||||
en: Entry
|
||||
de: Eintrag
|
||||
en: Entry
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
name: bannerSlide
|
||||
|
||||
meta:
|
||||
allowExportAll: true
|
||||
label:
|
||||
de: Banner
|
||||
en: Banner
|
||||
muiIcon: label
|
||||
backup:
|
||||
active: true
|
||||
collectionName: backups
|
||||
defaultSort:
|
||||
field: name
|
||||
order: ASC
|
||||
|
||||
views: &views
|
||||
- type: table
|
||||
columns:
|
||||
- source: text
|
||||
filter: true
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
|
||||
fields:
|
||||
- name: text
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Inhalt
|
||||
en: Content
|
||||
@@ -1,221 +0,0 @@
|
||||
name: content
|
||||
meta:
|
||||
label: Inhalt
|
||||
muiIcon: tableOfContents
|
||||
allowExportAll: true
|
||||
backup:
|
||||
active: true
|
||||
collectionName: backups
|
||||
defaultSort:
|
||||
field: insertTime
|
||||
order: DESC
|
||||
views:
|
||||
- type: simpleList
|
||||
selectionPriority: 0
|
||||
primaryText: name
|
||||
secondaryText: path
|
||||
mediaQuery: "(min-width: 0px)"
|
||||
tertiaryText: type
|
||||
- type: table
|
||||
selectionPriority: 1
|
||||
mediaQuery: "(min-width: 700px)"
|
||||
columns:
|
||||
- source: active
|
||||
name: Aktiv
|
||||
filter: true
|
||||
- source: type
|
||||
name: Typ
|
||||
filter: true
|
||||
- source: name
|
||||
name: Name
|
||||
filter: true
|
||||
- source: path
|
||||
name: Pfad
|
||||
filter: true
|
||||
|
||||
tablist:
|
||||
activeTab: general
|
||||
tabs:
|
||||
- name: general
|
||||
label:
|
||||
de: Allgemein
|
||||
en: General
|
||||
subFields:
|
||||
- source: active
|
||||
- source: type
|
||||
- source: name
|
||||
- source: question
|
||||
- source: path
|
||||
- source: alternativePaths
|
||||
- source: products
|
||||
|
||||
- name: block
|
||||
label:
|
||||
de: Inhalt
|
||||
en: Content
|
||||
subFields:
|
||||
- source: blocks
|
||||
|
||||
- name: meta
|
||||
label:
|
||||
de: Meta
|
||||
en: Meta
|
||||
subFields:
|
||||
- source: meta
|
||||
|
||||
subNavigation:
|
||||
- name: modalForeign
|
||||
defaultSort:
|
||||
field: name
|
||||
order: ASC
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: active
|
||||
name: Aktiv
|
||||
filter: true
|
||||
- source: name
|
||||
name: Name
|
||||
filter: true
|
||||
setDefault:
|
||||
field: type
|
||||
value: block
|
||||
defaultCallback:
|
||||
eval: |
|
||||
(entry) => {
|
||||
parent.selectEntry(entry)
|
||||
}
|
||||
|
||||
- name: page
|
||||
label:
|
||||
de: Seiten
|
||||
en: pages
|
||||
muiIcon: book-open-page-variant
|
||||
defaultSort:
|
||||
field: insertTime
|
||||
order: DESC
|
||||
setDefault:
|
||||
field: type
|
||||
value: page
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: active
|
||||
name: Aktiv
|
||||
filter: true
|
||||
- source: name
|
||||
name: Name
|
||||
filter: true
|
||||
- source: path
|
||||
name: Pfad
|
||||
filter: true
|
||||
filter:
|
||||
type: page
|
||||
|
||||
- name: block
|
||||
label:
|
||||
de: Blöcke
|
||||
en: blocks
|
||||
muiIcon: view-grid
|
||||
defaultSort:
|
||||
# field: "sort"
|
||||
# order: "MANUALLY"
|
||||
field: insertTime
|
||||
order: DESC
|
||||
setDefault:
|
||||
field: type
|
||||
value: block
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: active
|
||||
name: Aktiv
|
||||
filter: true
|
||||
- source: name
|
||||
name: Name
|
||||
filter: true
|
||||
|
||||
filter:
|
||||
type: block
|
||||
|
||||
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:
|
||||
- !include fields/active.yml
|
||||
- !include fields/contentType.yml
|
||||
|
||||
- name: products
|
||||
type: number[]
|
||||
meta:
|
||||
label:
|
||||
de: Produkte
|
||||
en: Products
|
||||
widget: foreignKey
|
||||
dependsOn:
|
||||
eval: $.type == "product"
|
||||
foreign:
|
||||
collection: bigCommerceProduct
|
||||
id: bigCommerceId
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
|
||||
- name: name
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Name
|
||||
en: Name
|
||||
helperText:
|
||||
de: "Der Name wird nur intern verwendet."
|
||||
en: "The name is only used internally."
|
||||
containerProps:
|
||||
layout:
|
||||
breakAfter: true
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- type: string
|
||||
name: path
|
||||
index: [single]
|
||||
meta:
|
||||
label:
|
||||
de: Pfad
|
||||
en: Path
|
||||
helperText:
|
||||
de: "Ein Pfad sollte mit einem / starten und ohne enden."
|
||||
en: "A path should start with a / and end without one."
|
||||
dependsOn:
|
||||
eval: $.type == "page"
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- !include fields/contentBlocks.yml
|
||||
- !include fields/contentMeta.yml
|
||||
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:$**
|
||||
@@ -1,35 +0,0 @@
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Titel
|
||||
en: Title
|
||||
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
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: keywords
|
||||
type: string
|
||||
meta:
|
||||
inputProps:
|
||||
multiline: true
|
||||
label:
|
||||
de: Schlüsselwörter
|
||||
en: Keywords
|
||||
@@ -1,16 +0,0 @@
|
||||
type: boolean
|
||||
name: active
|
||||
meta:
|
||||
label:
|
||||
de: Aktiv
|
||||
en: Active
|
||||
helperText:
|
||||
de: Ist dies Aktiviert, so wird der Inhalt verfügbar.
|
||||
en: If this is activated, the content will be available.
|
||||
defaultValue: true
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
@@ -1,3 +0,0 @@
|
||||
backup:
|
||||
active: true # sollen backups beim verändern erstellt werden
|
||||
collectionName: backups # in welcher collection es gespeichert werden soll
|
||||
@@ -1,72 +0,0 @@
|
||||
name: callToActionButtons
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Call to Action
|
||||
en: Call to Action
|
||||
subFields:
|
||||
- name: buttonText
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Button-Text
|
||||
en: Button Text
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- name: page
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Button-Link (URL)
|
||||
en: Button link (URL)
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- name: ctaType
|
||||
type: number
|
||||
meta:
|
||||
label: Button Farbe
|
||||
widget: select
|
||||
choices:
|
||||
- id: 0
|
||||
name: Primär
|
||||
- id: 1
|
||||
name: Sekundär
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- name: buttonTarget
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Button-Link (Ziel)
|
||||
en: Button link (Target)
|
||||
widget: select
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
choices:
|
||||
- name:
|
||||
de: im gleichen Fenster
|
||||
en: in the same window
|
||||
id: _self
|
||||
- name:
|
||||
de: in einem neuen Fenster
|
||||
en: in a new window
|
||||
id: _blank
|
||||
@@ -1,464 +0,0 @@
|
||||
x-block-full-preview: &block-full-preview
|
||||
eval: |
|
||||
//js
|
||||
(async () => {
|
||||
const {ContentBlock, getRenderedElement} = await import($projectBase + "_/assets/dist/admin.mjs?t=" + $project?.updateTime)
|
||||
const container = getRenderedElement(ContentBlock, {
|
||||
props: {
|
||||
block: Object.assign({}, $this, {
|
||||
}),
|
||||
apiBase: $projectBase,
|
||||
},
|
||||
addCss: [
|
||||
$projectBase + "_/assets/dist/index.css",
|
||||
$projectBase + "_/assets/dist/admin.css",
|
||||
],
|
||||
})
|
||||
let style = "max-width: 1900px; background-color: white;"
|
||||
// if (!$this?.aktiv) {
|
||||
// style += "opacity: 0.5;"
|
||||
// }
|
||||
container.style = style
|
||||
return container
|
||||
})()
|
||||
//!js
|
||||
|
||||
x-block-light-preview: &block-light-preview
|
||||
eval: |
|
||||
//js
|
||||
"<div style=\"padding-left: 30px;\"><b>" +
|
||||
($this.headline || "") + "</b>" +
|
||||
($this.type ?
|
||||
" <small>Blocktyp: " +
|
||||
{
|
||||
"columns": "Spalten",
|
||||
"predefinedBlock": "Vordefinierter Block",
|
||||
|
||||
}[$this.type] +
|
||||
"</small>" :
|
||||
"") +
|
||||
($this.anchorId ?
|
||||
" <small>#" + $this.anchorId +
|
||||
"</small>" :
|
||||
"") +
|
||||
"<br>" +
|
||||
($this.subline || "") +
|
||||
"</div>"
|
||||
//!js
|
||||
raw: true
|
||||
|
||||
name: blocks
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Inhalt
|
||||
en: Content
|
||||
#widget: containerLessObjectArray
|
||||
widget: previewBasedObjectArray
|
||||
pathStep:
|
||||
title: Inhalt
|
||||
preview: *block-full-preview
|
||||
folding:
|
||||
previewFolded: *block-full-preview
|
||||
previewUnfolded: *block-light-preview
|
||||
metaElements:
|
||||
tablist:
|
||||
tabs:
|
||||
- name: allgemein
|
||||
label: Allgemein
|
||||
subFields:
|
||||
- source: topline
|
||||
- source: headline
|
||||
- source: headlineH1
|
||||
- source: doublyLined
|
||||
- source: subline
|
||||
- source: anchorId
|
||||
- source: headlineLink
|
||||
- source: headlineLinkText
|
||||
- name: callToAction
|
||||
label: Call to Action
|
||||
subFields:
|
||||
- source: callToActionButtons
|
||||
- name: paddingBackground
|
||||
label: Hintergrund und Abstand
|
||||
subFields:
|
||||
- source: background
|
||||
- source: padding
|
||||
- source: contentWidth
|
||||
- source: crinkledSection
|
||||
- source: additionalHeightBottom
|
||||
|
||||
subFields:
|
||||
########################### globale Einstellungen ###########################
|
||||
- name: headline
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Überschrift
|
||||
en: Headline
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: headlineH1
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Überschrift als H1
|
||||
en: Headline as H1
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: headlineLink
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Überschrift-Link
|
||||
en: Headline-Link
|
||||
foreign:
|
||||
collection: content
|
||||
id: path
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: headlineLinkText
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Überschrift-Link
|
||||
en: Headline-Link
|
||||
foreign:
|
||||
collection: content
|
||||
id: path
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- !include ./callToActionButton.yml
|
||||
- name: doublyLined
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Doppelt unterstrichen
|
||||
en: Doubly underlined
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: subline
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Unterzeile
|
||||
en: Subline
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: topline
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Topline
|
||||
en: Topline
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: anchorId
|
||||
type: string
|
||||
meta:
|
||||
# dependsOn:
|
||||
# eval: |
|
||||
# (function() {
|
||||
# return $parent?.type !== 'predefinedBlock'
|
||||
# })()
|
||||
label:
|
||||
de: Anker-ID
|
||||
en: Anchor ID
|
||||
helperText:
|
||||
de: Der Block kann über diese Anker-Id direkt über links mit URL#Anker-ID angesprungen werden.
|
||||
en: The block can be jumped directly via links with URL#AnchorID.
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: crinkledSection
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Geknitterter Abschnitt
|
||||
en: crinkled Section
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- name: background
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Hintergrund
|
||||
en: Background
|
||||
subFields:
|
||||
- name: color
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Hintergrundfarbe
|
||||
en: Background color
|
||||
widget: select
|
||||
choices:
|
||||
- name:
|
||||
de: weiß / transparent
|
||||
en: white / transparent
|
||||
id: white
|
||||
|
||||
- name:
|
||||
de: schwarz
|
||||
en: black
|
||||
id: black
|
||||
defaultValue: white
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- name: image
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Hintergrundbild
|
||||
en: Background Image
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: medialib
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render: !include ../lib/foreignMediaRender.yml
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: minHeight
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Mindesthöhe
|
||||
en: Min height
|
||||
widget: select
|
||||
choices:
|
||||
- name:
|
||||
de: keine
|
||||
en: none
|
||||
id: "none"
|
||||
|
||||
- name:
|
||||
de: Normale höhe
|
||||
en: Normal height
|
||||
id: normal
|
||||
|
||||
- name:
|
||||
de: erweiterte Höhe
|
||||
en: extended height
|
||||
id: extended
|
||||
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: headerHeightUp
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Um höhe des Header nach oben
|
||||
en: Header up
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: overlay
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Overlay
|
||||
en: Overlay
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- name: noVerticalPadding
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Kein vertikaler Innenabstand
|
||||
en: No vertical padding
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
helperText:
|
||||
de: Nur nötig, wenn man nicht mit den "geknittertem Abschnitt" arbeitet
|
||||
en: Only not necessary if you work with the "crinkled section"
|
||||
- name: noHorizontalMargin
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Kein horizontaler Außenabstand
|
||||
en: No horizontal margin
|
||||
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
- name: contentWidth
|
||||
type: number
|
||||
meta:
|
||||
widget: select
|
||||
label:
|
||||
de: Breite
|
||||
en: Width
|
||||
choices:
|
||||
- id: 0
|
||||
name:
|
||||
de: 100%
|
||||
en: 100%
|
||||
- id: 1
|
||||
name:
|
||||
de: Schmal
|
||||
en: Narrow
|
||||
- id: 2
|
||||
name:
|
||||
de: normal
|
||||
en: normal
|
||||
|
||||
- name: type
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Typ
|
||||
en: Type
|
||||
widget: select
|
||||
containerProps:
|
||||
layout:
|
||||
breakBefore: true
|
||||
breakAfter: true
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
defaultValue: columns
|
||||
choices:
|
||||
- name:
|
||||
de: keine Auswahl
|
||||
en: no selection
|
||||
id: ""
|
||||
|
||||
- name:
|
||||
de: Text- und Bild-Spalten
|
||||
en: Text and image columns
|
||||
id: columns
|
||||
|
||||
- name:
|
||||
de: Vordefinierter Block
|
||||
en: Predefined Block
|
||||
id: predefinedBlock
|
||||
|
||||
- name:
|
||||
de: Produkt Slider
|
||||
en: Product Slider
|
||||
id: productSlider
|
||||
|
||||
- name:
|
||||
de: Haupt Homepage
|
||||
en: Main Homepage
|
||||
id: homepage
|
||||
|
||||
- name:
|
||||
de: Geteilte Homepage
|
||||
en: Splitted Homepage
|
||||
id: splittedHomepage
|
||||
|
||||
- name:
|
||||
de: Verbessere Dich Spalte
|
||||
en: Improve Yourself Column
|
||||
id: improveYourselfDescription
|
||||
|
||||
- name:
|
||||
de: Chapter Preview
|
||||
en: Chapter Preview
|
||||
id: selfImprovementChapterPreview
|
||||
|
||||
- name:
|
||||
de: Bewertungsvorschau
|
||||
en: Rating Preview
|
||||
id: ratingPreview
|
||||
|
||||
- name: StepNr
|
||||
id: stepNr
|
||||
|
||||
- name: additionalHeightBottom
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Zusätzliche Höhe unten
|
||||
en: Additional height bottom
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
########################### Blöcke ############################
|
||||
###############################################################
|
||||
- !include ./contentBlocks/columns.yml
|
||||
- !include ./contentBlocks/predefined.yml
|
||||
- !include ./contentBlocks/productSlider.yml
|
||||
- !include ./contentBlocks/MainHomepage.yml
|
||||
- !include ./contentBlocks/SplittedHompage.yml
|
||||
- !include ./contentBlocks/ImproveYourselfDescription.yml
|
||||
- !include ./contentBlocks/selfImprovementChapter.yml
|
||||
- !include ./contentBlocks/ratingsPreview.yml
|
||||
- !include ./contentBlocks/stepNr.yml
|
||||
@@ -1,70 +0,0 @@
|
||||
name: cta
|
||||
type: object
|
||||
meta:
|
||||
label: Call To Action Zeile
|
||||
dependsOn:
|
||||
eval: $parent.type == 'cta'
|
||||
subFields:
|
||||
- name: upperHeadline
|
||||
type: string
|
||||
meta:
|
||||
label: Über Überschrift
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-6"
|
||||
large: "col-6"
|
||||
|
||||
- name: description
|
||||
type: string
|
||||
meta:
|
||||
label: Überschrift beschreibung
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-6"
|
||||
large: "col-6"
|
||||
|
||||
- name: whiteHeadline
|
||||
type: string
|
||||
meta:
|
||||
label: Weißer Teil Überschrift
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-6"
|
||||
large: "col-6"
|
||||
|
||||
- name: redHeadline
|
||||
type: string
|
||||
meta:
|
||||
label: Roter Teil Überschrift
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-6"
|
||||
large: "col-6"
|
||||
|
||||
- name: headlineArrangement
|
||||
type: string
|
||||
meta:
|
||||
label: Headline Anordnung
|
||||
widget: select
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-12"
|
||||
small: "col-12"
|
||||
large: "col-12"
|
||||
choices:
|
||||
- id: row
|
||||
name: in einer Zeile
|
||||
|
||||
- id: column
|
||||
name: in einer Spalte
|
||||
|
||||
- !include ../callToActionButton.yml
|
||||
@@ -1,54 +0,0 @@
|
||||
name: improveYourselfDescription
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Verbessere dich Beschreibung
|
||||
en: Improve Yourself Description
|
||||
dependsOn:
|
||||
eval: $parent.type === 'improveYourselfDescription'
|
||||
subFields:
|
||||
- name: upperDescription
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Obere Beschreibung
|
||||
en: Upper Description
|
||||
widget: richtext
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: lowerDescription
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Untere Beschreibung
|
||||
en: Lower Description
|
||||
widget: richtext
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: image
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Bild
|
||||
en: Image
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: medialib
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
@@ -1,28 +0,0 @@
|
||||
name: mainHomepage
|
||||
type: object
|
||||
meta:
|
||||
label: Hauptseite
|
||||
dependsOn:
|
||||
eval: $parent.type == 'homepage'
|
||||
subFields:
|
||||
- name: type
|
||||
type: string
|
||||
meta:
|
||||
label: Typ
|
||||
widget: select
|
||||
choices:
|
||||
- id: cta
|
||||
name: Call To Action
|
||||
|
||||
- !include CTACol.yml
|
||||
- name: image
|
||||
type: string
|
||||
meta:
|
||||
label: Bild
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: medialib
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
@@ -1,23 +0,0 @@
|
||||
name: splittedHomepage
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Geteilte Homepage
|
||||
en: Splitted Homepage Block
|
||||
dependsOn:
|
||||
eval: $parent.type === 'splittedHomepage'
|
||||
subFields:
|
||||
- name: chapters
|
||||
type: string[]
|
||||
meta:
|
||||
label:
|
||||
de: Kapitel
|
||||
en: Chapters
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: selfImprovementChapter
|
||||
id: id
|
||||
sort: name
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
@@ -1,265 +0,0 @@
|
||||
x-column-preview: &column-preview
|
||||
eval: |
|
||||
//js
|
||||
(async () => {
|
||||
const {ColumnsColumn, getRenderedElement} = await import($projectBase + "_/assets/dist/admin.mjs?t=" + $project?.updateTime)
|
||||
let c = ColumnsColumn
|
||||
const container = getRenderedElement(c, {
|
||||
props: {
|
||||
column: Object.assign({}, $this, {
|
||||
}),
|
||||
apiBase: $projectBase,
|
||||
},
|
||||
addCss: [
|
||||
$projectBase + "_/assets/dist/index.css",
|
||||
$projectBase + "_/assets/dist/admin.css",
|
||||
],
|
||||
})
|
||||
let style = "background-color: white;"
|
||||
style += "width: 600px;"
|
||||
// if (!$this?.aktiv) {
|
||||
// style += "opacity: 0.5;"
|
||||
// }
|
||||
container.style = style
|
||||
return container
|
||||
})()
|
||||
//!js
|
||||
|
||||
name: columns
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Spalten
|
||||
en: columns
|
||||
dependsOn:
|
||||
eval: $parent.type == 'columns'
|
||||
pathStep:
|
||||
title: Spalten
|
||||
direction: horizontal
|
||||
widget: previewBasedObjectArray
|
||||
preview: *column-preview
|
||||
folding:
|
||||
previewFolded: *column-preview
|
||||
previewUnfolded:
|
||||
eval: |
|
||||
"<div style=\"padding-left: 30px;\">" + ($this.type == "image" ? "Bild" : "Text") + "-Spalte (Breite: " + ($this.colWidth ? $this.colWidth + "/12" : "automatisch" ) + ")</div>"
|
||||
raw: true
|
||||
defaultValue:
|
||||
eval: |
|
||||
[{type: "text", colWidth: 0}]
|
||||
metaElements:
|
||||
- type
|
||||
- colWidth
|
||||
- verticalAlign
|
||||
subFields:
|
||||
- name: type
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Typ
|
||||
en: Type
|
||||
widget: select
|
||||
defaultValue: text
|
||||
choices:
|
||||
- name:
|
||||
de: Text
|
||||
en: Text
|
||||
id: text
|
||||
|
||||
- name:
|
||||
de: Bild
|
||||
en: Image
|
||||
id: image
|
||||
|
||||
- name:
|
||||
de: CTA
|
||||
en: CTA
|
||||
id: cta
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-4"
|
||||
small: "col-12"
|
||||
large: "col-4"
|
||||
- name: colWidth
|
||||
type: number
|
||||
meta:
|
||||
widget: select
|
||||
label:
|
||||
de: Spaltenbreite
|
||||
en: Column width
|
||||
choices:
|
||||
- id: -1
|
||||
name:
|
||||
de: automatische Breite
|
||||
en: auto
|
||||
- id: 6
|
||||
name:
|
||||
de: 1/2
|
||||
en: 1/2
|
||||
- id: 4
|
||||
name:
|
||||
de: 1/3
|
||||
en: 1/3
|
||||
defaultValue: -1
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-4"
|
||||
small: "col-12"
|
||||
large: "col-4"
|
||||
- name: verticalAlign
|
||||
type: string
|
||||
meta:
|
||||
widget: select
|
||||
label:
|
||||
de: vertikale Ausrichtung
|
||||
en: vertical alignment
|
||||
choices:
|
||||
- id: top
|
||||
name:
|
||||
de: oben
|
||||
en: top
|
||||
- id: middle
|
||||
name:
|
||||
de: mittig
|
||||
en: middle
|
||||
- id: bottom
|
||||
name:
|
||||
de: unten
|
||||
en: bottom
|
||||
defaultValue: top
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-4"
|
||||
small: "col-12"
|
||||
large: "col-4"
|
||||
- name: text
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Text
|
||||
en: text
|
||||
widget: richtext
|
||||
dependsOn:
|
||||
eval: $parent.type == 'text'
|
||||
|
||||
- name: images
|
||||
type: string[]
|
||||
meta:
|
||||
label:
|
||||
de: Bild
|
||||
en: Image
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: medialib
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render: !include ../../lib/foreignMediaRender.yml
|
||||
dependsOn:
|
||||
eval: $parent.type == 'image'
|
||||
|
||||
- name: imageMobileBackground
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Bild auf Mobilgeräten in hintergrund
|
||||
en: Image on mobile devices in background
|
||||
dependsOn:
|
||||
eval: $parent.type == 'image'
|
||||
- name: forceFullHeight
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: volle Bildhöhe erzwingen
|
||||
en: full Force image height
|
||||
dependsOn:
|
||||
eval: $parent.type == 'image'
|
||||
|
||||
- name: imageHoverEffect
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Bild hover effekt
|
||||
en: Image hover effect
|
||||
dependsOn:
|
||||
eval: $parent.type == 'image'
|
||||
- name: links
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Links
|
||||
en: Links
|
||||
folding:
|
||||
force: true
|
||||
previewFolded:
|
||||
eval: |
|
||||
"<div style=\"padding-left: 30px;\">Link: <b>" + ($this.text || "") + "</b></div>"
|
||||
raw: true
|
||||
dependsOn:
|
||||
eval: $parent.type == 'text'
|
||||
subFields:
|
||||
- name: text
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Text
|
||||
en: Text
|
||||
- name: url
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: URL
|
||||
en: URL
|
||||
- name: target
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Ziel
|
||||
en: Target
|
||||
widget: select
|
||||
choices:
|
||||
- name:
|
||||
de: im gleichen Fenster
|
||||
en: in the same window
|
||||
id: _self
|
||||
- name:
|
||||
de: in einem neuen Fenster
|
||||
en: in a new window
|
||||
id: _blank
|
||||
- name: style
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Stil
|
||||
en: Style
|
||||
widget: select
|
||||
defaultValue: primary
|
||||
choices:
|
||||
- name:
|
||||
de: primär (roter Hintergrund)
|
||||
en: primary (red background)
|
||||
id: primary
|
||||
|
||||
- name:
|
||||
de: sekundär (rote Schrift)
|
||||
en: secondary (red text)
|
||||
id: secondary
|
||||
|
||||
- id: tertiary
|
||||
name:
|
||||
de: normaler Link (graue Schrift)
|
||||
en: normal link (grey text)
|
||||
|
||||
- name:
|
||||
de: externer Link (Icon links)
|
||||
en: external link (icon left)
|
||||
id: external
|
||||
|
||||
- name:
|
||||
de: Download Link (Icon links)
|
||||
en: download link (icon left)
|
||||
id: download
|
||||
|
||||
- !include ./CTACol.yml
|
||||
@@ -1,28 +0,0 @@
|
||||
name: predefinedBlock
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Vordefinierter Block
|
||||
en: Predefined Block
|
||||
dependsOn:
|
||||
eval: |
|
||||
(function() {
|
||||
return $parent?.type === 'predefinedBlock'
|
||||
})()
|
||||
subFields:
|
||||
- name: id
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Inhalt
|
||||
en: Include
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: content
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render:
|
||||
eval: |
|
||||
(function() {
|
||||
return $foreignEntry?.name || $foreignEntry?.id
|
||||
})()
|
||||
@@ -1,85 +0,0 @@
|
||||
name: productSlider
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Produktslider
|
||||
en: Product Slider
|
||||
dependsOn:
|
||||
eval: $parent.type === 'productSlider'
|
||||
subFields:
|
||||
- name: productSource
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Produktdatenquelle
|
||||
en: Product Data Source
|
||||
widget: select
|
||||
choices:
|
||||
- name:
|
||||
de: Manuelle Auswahl
|
||||
en: Manual Selection
|
||||
id: manual
|
||||
|
||||
- name:
|
||||
de: Kategorie Id
|
||||
en: Category id
|
||||
id: category
|
||||
|
||||
- name:
|
||||
de: Bestseller
|
||||
en: Bestseller
|
||||
id: bestseller
|
||||
|
||||
- name:
|
||||
de: Neue Produkte
|
||||
en: New Products
|
||||
id: newProducts
|
||||
|
||||
- name:
|
||||
de: Hervorgehoben
|
||||
en: Featured
|
||||
id: featured
|
||||
|
||||
- name:
|
||||
de: Angebote
|
||||
en: Discounted
|
||||
id: discounted
|
||||
|
||||
- name: productIds
|
||||
type: number[]
|
||||
meta:
|
||||
label:
|
||||
de: Produkt IDs
|
||||
en: Product IDs
|
||||
dependsOn:
|
||||
eval: $parent.productSource === 'manual' || $parent.productSource === "discounted"
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: bigCommerceProduct
|
||||
id: bigCommerceId
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
|
||||
- name: categoryId
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Kategorie
|
||||
en: Category
|
||||
dependsOn:
|
||||
eval: $parent.productSource === 'category'
|
||||
|
||||
- !include ../callToActionButton.yml
|
||||
- name: headline
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Überschrift
|
||||
en: Headline
|
||||
- name: topLine
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Top Line
|
||||
en: Top Line
|
||||
@@ -1,25 +0,0 @@
|
||||
name: ratingsPreview
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Bewertungsvorschau
|
||||
en: Ratings Preview
|
||||
dependsOn:
|
||||
eval: $parent.type === 'ratingPreview'
|
||||
subFields:
|
||||
- name: ratings
|
||||
type: object[]
|
||||
meta:
|
||||
widget: containerLessObjectArray
|
||||
subFields:
|
||||
- name: rating
|
||||
type: string
|
||||
meta:
|
||||
label: rating
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: rating
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
@@ -1,35 +0,0 @@
|
||||
name: selfImprovementChapterPreview
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Vorschau
|
||||
en: Preview
|
||||
dependsOn:
|
||||
eval: $parent.type === 'selfImprovementChapterPreview'
|
||||
subFields:
|
||||
- name: chapter
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Kapitel
|
||||
en: Chapter
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: selfImprovementChapter
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
- name: previewImage
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Vorschaubild
|
||||
en: Preview Image
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: medialib
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
@@ -1,73 +0,0 @@
|
||||
name: steps
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Stepp Nr
|
||||
en: Step Nr
|
||||
dependsOn:
|
||||
eval: $parent.type === 'stepNr' || !$parent.type
|
||||
subFields:
|
||||
- name: horizontal
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Horizontal
|
||||
en: Horizontal
|
||||
|
||||
- name: color
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Farbe
|
||||
en: Color
|
||||
widget: select
|
||||
choices:
|
||||
- name: red
|
||||
id: red
|
||||
|
||||
- name: items
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Items
|
||||
en: Items
|
||||
widget: containerLessObjectArray
|
||||
subFields:
|
||||
- name: nr
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
de: Nr
|
||||
en: Nr
|
||||
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Titel
|
||||
en: Title
|
||||
|
||||
- name: descriptions
|
||||
type: string[]
|
||||
meta:
|
||||
widget: string
|
||||
useDefaultArray: true
|
||||
label:
|
||||
de: Beschreibung
|
||||
en: Description
|
||||
inputProps:
|
||||
multiline: true
|
||||
|
||||
- name: image
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Bild
|
||||
en: Image
|
||||
widget: foreignKey
|
||||
foreign:
|
||||
collection: medialib
|
||||
id: id
|
||||
subNavigation: 0
|
||||
render:
|
||||
defaultCollectionViews: true
|
||||
@@ -1,103 +0,0 @@
|
||||
name: meta
|
||||
type: object
|
||||
meta:
|
||||
label:
|
||||
de: Meta Agaben
|
||||
en: Meta Data
|
||||
helperText:
|
||||
de: Diese Angaben werden für die Suchmaschinenoptimierung verwendet.
|
||||
en: These data are used for search engine optimization.
|
||||
dependsOn:
|
||||
eval: $?.type != "block"
|
||||
subFields:
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Titel
|
||||
en: Title
|
||||
helperText:
|
||||
de: Alternativ wird der Name verwendet.
|
||||
en: Alternatively the name is used.
|
||||
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
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: keywords
|
||||
type: string
|
||||
meta:
|
||||
inputProps:
|
||||
multiline: true
|
||||
label:
|
||||
de: Schlüsselwörter
|
||||
en: Keywords
|
||||
|
||||
- name: isArticle
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Ist Artikel
|
||||
en: Is Article
|
||||
helperText:
|
||||
de: "Wenn aktiviert, wird der Inhalt als Artikel behandelt."
|
||||
en: "If activated, the content is treated as an article."
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: hasFAQ
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Hat FAQ
|
||||
en: Has FAQ
|
||||
helperText:
|
||||
de: "Wenn aktiviert, wird der Inhalt als FAQ behandelt."
|
||||
en: "If activated, the content is treated as a FAQ."
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
- name: FAQ
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: FAQ
|
||||
en: FAQ
|
||||
subFields:
|
||||
- name: question
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Frage
|
||||
en: Question
|
||||
|
||||
- name: answer
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Antwort
|
||||
en: Answer
|
||||
inputProps:
|
||||
multiline: true
|
||||
@@ -1,35 +0,0 @@
|
||||
type: string
|
||||
name: type
|
||||
meta:
|
||||
label:
|
||||
de: Inhaltstyp
|
||||
en: Content Type
|
||||
widget: select
|
||||
defaultValue: page
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
choices:
|
||||
- name:
|
||||
de: Seite
|
||||
en: Page
|
||||
id: page
|
||||
|
||||
- name:
|
||||
de: Block
|
||||
en: Block
|
||||
id: block
|
||||
|
||||
- name:
|
||||
de: Helpcenter Frage
|
||||
en: Helpcenter Question
|
||||
id: helpcenterQuestion
|
||||
|
||||
- name: Blog
|
||||
id: blog
|
||||
|
||||
- name: product
|
||||
id: product
|
||||
@@ -1,11 +0,0 @@
|
||||
name: emailCC
|
||||
type: string[]
|
||||
meta:
|
||||
label:
|
||||
de: Email CC
|
||||
en: Email CC
|
||||
widget: string
|
||||
useDefaultArray: true
|
||||
helperText:
|
||||
de: "Bsp: zyx@gmail.com"
|
||||
en: "E.g.: zyx@gmail.com"
|
||||
@@ -1,40 +0,0 @@
|
||||
name: excludeDays
|
||||
type: string[]
|
||||
meta:
|
||||
label: Auszuschließende Wochentage
|
||||
widget: checkboxArray
|
||||
choices:
|
||||
- id: monday
|
||||
name:
|
||||
de: Montag
|
||||
en: Monday
|
||||
|
||||
- id: tuesday
|
||||
name:
|
||||
de: Dienstag
|
||||
en: Tuesday
|
||||
|
||||
- id: wednesday
|
||||
name:
|
||||
de: Mittwoch
|
||||
en: Wednesday
|
||||
|
||||
- id: thursday
|
||||
name:
|
||||
de: Donnerstag
|
||||
en: Thursday
|
||||
|
||||
- id: friday
|
||||
name:
|
||||
de: Freitag
|
||||
en: Friday
|
||||
|
||||
- id: saturday
|
||||
name:
|
||||
de: Samstag
|
||||
en: Saturday
|
||||
|
||||
- id: sunday
|
||||
name:
|
||||
de: Sonntag
|
||||
en: Sunday
|
||||
@@ -1,6 +0,0 @@
|
||||
name: file
|
||||
type: file
|
||||
meta:
|
||||
label:
|
||||
de: Datei
|
||||
en: File
|
||||
@@ -1,13 +0,0 @@
|
||||
name: from
|
||||
type: date
|
||||
meta:
|
||||
label:
|
||||
de: Von
|
||||
en: From
|
||||
widget: date
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
@@ -1,11 +0,0 @@
|
||||
name: sort
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
de: Manuelle Sortierung
|
||||
en: Manual Sorting
|
||||
inputProps:
|
||||
{ readonly: true, placeholder: { de: "Wert wird automatisch gesetzt", en: "Value is set automatically" } }
|
||||
helperText:
|
||||
de: Dieses Feld wird für die manuelle Sortierung benötigt. Sobald ein Eintrag per Drag&Drop verschoben wurde, wird die neue Position innerhalb der Liste eingetragen.
|
||||
en: This field is required for manual sorting. As soon as an entry is moved using Drag&Drop, the new position is entered in the list.
|
||||
@@ -1,41 +0,0 @@
|
||||
type: cardList
|
||||
mediaQuery: "(min-width: 1200px)"
|
||||
selectionPriority: 1
|
||||
fileDropArea:
|
||||
label:
|
||||
{
|
||||
de: "Ziehen Sie Dateien per Drag and Drop hierher oder klicken Sie, um Dateien auszuwählen.",
|
||||
en: "Drag and drop some files here, or click to upload.",
|
||||
}
|
||||
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
|
||||
targetField: file
|
||||
pageAsDropArea: false
|
||||
|
||||
fields:
|
||||
- source: file
|
||||
name:
|
||||
de: Datei
|
||||
en: File
|
||||
filter: true
|
||||
- source: category
|
||||
name:
|
||||
de: Kategorie
|
||||
en: Category
|
||||
filter: true
|
||||
- source: tags
|
||||
name:
|
||||
de: Tags
|
||||
en: Tags
|
||||
foreign: true
|
||||
filter: true
|
||||
- source: title
|
||||
name:
|
||||
de: Titel
|
||||
en: Title
|
||||
filter: true
|
||||
- source: updateTime
|
||||
type: datetime
|
||||
label:
|
||||
de: letztes Update
|
||||
en: last update
|
||||
filter: true
|
||||
@@ -1,25 +0,0 @@
|
||||
type: simpleList
|
||||
mediaQuery: "(min-width: 0px)"
|
||||
defaultSelect: false
|
||||
selectionPriority: 3 #gibt an, wenn mediaQuery passt, mit welcher priorität es default mäßig ausgewählt sein soll, je niedriger, desto wichtiger
|
||||
fileDropArea:
|
||||
label:
|
||||
{
|
||||
de: "Ziehen Sie Dateien per Drag and Drop hierher oder klicken Sie, um Dateien auszuwählen.",
|
||||
en: "Drag and drop some files here, or click to upload.",
|
||||
}
|
||||
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
|
||||
targetField: file # gibt an, in welches feld die datei hochgeladen werden soll
|
||||
pageAsDropArea: false # wenn true, wird filedrop area garnicht erst angezeigt, da die ganze seite drag n drop funktionalität hat
|
||||
|
||||
primaryText:
|
||||
source: file
|
||||
filter: true
|
||||
|
||||
secondaryText:
|
||||
source: alt
|
||||
filter: true
|
||||
|
||||
tertiaryText:
|
||||
source: category
|
||||
filter: true
|
||||
@@ -1,41 +0,0 @@
|
||||
type: table
|
||||
mediaQuery: "(min-width: 800px)"
|
||||
defaultSelect: false
|
||||
selectionPriority: 2
|
||||
fileDropArea:
|
||||
label:
|
||||
{
|
||||
de: "Ziehen Sie Dateien per Drag and Drop hierher oder klicken Sie, um Dateien auszuwählen.",
|
||||
en: "Drag and drop some files here, or click to upload.",
|
||||
}
|
||||
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
|
||||
targetField: file
|
||||
pageAsDropArea: false
|
||||
columns:
|
||||
- source: file
|
||||
name:
|
||||
de: Datei
|
||||
en: File
|
||||
filter: true
|
||||
- source: category
|
||||
name:
|
||||
de: Kategorie
|
||||
en: Category
|
||||
filter: true
|
||||
- source: tags
|
||||
name:
|
||||
de: Tags
|
||||
en: Tags
|
||||
foreign: true
|
||||
filter: true
|
||||
- source: title
|
||||
name:
|
||||
de: Titel
|
||||
en: Title
|
||||
filter: true
|
||||
- source: updateTime
|
||||
type: datetime
|
||||
label:
|
||||
de: letztes Update
|
||||
en: last update
|
||||
filter: true
|
||||
@@ -1,10 +0,0 @@
|
||||
multiupload:
|
||||
fields:
|
||||
- source: category # gibt an, welche Felder in der Modalansicht bearbeitet werden können, wenn die Eigenschaft nicht festgelegt ist, werden automatisch alle Felder ausgewählt
|
||||
prefilledFields: # gibt an, welche Felder in der Modalansicht vorbefüllt werden können, wenn die Eigenschaft nicht festgelegt ist, werden automatisch alle Felder ausgewählt
|
||||
- source: title
|
||||
defaultValue: # extrahiert den namen des files und fügt ihn in das feld "title" ein
|
||||
eval: |
|
||||
(function(){
|
||||
return "Title" + $file.name
|
||||
})()
|
||||
@@ -1,17 +0,0 @@
|
||||
name: pageTitle
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Titel der Seite
|
||||
en: Page Title
|
||||
helperText:
|
||||
de: "Dieser Titel wird in der Seite als h1 angezeigt."
|
||||
en: "This title is displayed in the page as h1."
|
||||
dependsOn:
|
||||
eval: $.type == "page"
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
@@ -1,9 +0,0 @@
|
||||
name: text
|
||||
type: string
|
||||
meta:
|
||||
widget: richtext
|
||||
label:
|
||||
de: Text
|
||||
en: text
|
||||
dependsOn:
|
||||
eval: $parent.contentType == 'text'
|
||||
@@ -1,13 +0,0 @@
|
||||
raw: true
|
||||
eval: |
|
||||
//js
|
||||
(function() {
|
||||
let out = ""
|
||||
if ($foreignEntry?.file?.src && $foreignEntry?.file?.type?.startsWith("image/")) {
|
||||
out += "<img src='" + $projectBase + "medialib/" + $foreignEntry.id + "/" + $foreignEntry.file.src + "?filter=s' style='max-width: 100%;' /><br>"
|
||||
}
|
||||
out += $foreignEntry?.title || ""
|
||||
|
||||
return out
|
||||
})()
|
||||
//!js
|
||||
@@ -1,55 +0,0 @@
|
||||
# Der Key des Objektes definiert den Namen des Filters.
|
||||
# Jeder Filter ist eine Liste von Bildmanipulationen, die
|
||||
# nacheinander angewandt werden.
|
||||
# Die manipulierten Bilder werden gecachet. Ein nachträgliches
|
||||
# Anpassen der Filter erfordert also das Löschen der gecachten
|
||||
# Dateien welche sich jeweils neben den original Bilddateien
|
||||
# im "uploadPath" der Kollektion befinden.
|
||||
xs:
|
||||
- fit: true
|
||||
height: 90
|
||||
width: 90
|
||||
resampling: lanczos
|
||||
quality: 90
|
||||
skipLargerDimension: true
|
||||
skipLargerFilesize: true
|
||||
s:
|
||||
- fit: true
|
||||
height: 300
|
||||
width: 300
|
||||
resampling: lanczos
|
||||
quality: 90
|
||||
skipLargerDimension: true
|
||||
skipLargerFilesize: true
|
||||
m:
|
||||
- fit: true
|
||||
height: 600
|
||||
width: 600
|
||||
resampling: lanczos
|
||||
quality: 90
|
||||
skipLargerDimension: true
|
||||
skipLargerFilesize: true
|
||||
l:
|
||||
- fit: true
|
||||
height: 1200
|
||||
width: 1200
|
||||
resampling: lanczos
|
||||
quality: 90
|
||||
skipLargerDimension: true
|
||||
skipLargerFilesize: true
|
||||
xl:
|
||||
- fit: true
|
||||
height: 2000
|
||||
width: 2000
|
||||
resampling: lanczos
|
||||
quality: 90
|
||||
skipLargerDimension: true
|
||||
skipLargerFilesize: true
|
||||
xxl:
|
||||
- fit: true
|
||||
height: 4000
|
||||
width: 4000
|
||||
resampling: lanczos
|
||||
quality: 90
|
||||
skipLargerDimension: true
|
||||
skipLargerFilesize: true
|
||||
@@ -1,38 +0,0 @@
|
||||
type: cardList
|
||||
mediaQuery: "(min-width: 1200px)"
|
||||
selectionPriority: 1
|
||||
fileDropArea:
|
||||
label:
|
||||
{
|
||||
de: "Ziehen Sie Dateien per Drag and Drop hierher oder klicken Sie, um Dateien auszuwählen.",
|
||||
en: "Drag and drop some files here, or click to upload.",
|
||||
}
|
||||
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
|
||||
targetField: file
|
||||
pageAsDropArea: false
|
||||
|
||||
fields:
|
||||
- source: title
|
||||
name:
|
||||
de: Titel
|
||||
en: Title
|
||||
filter: true
|
||||
- source: file
|
||||
name: Datei
|
||||
- source: tags
|
||||
name:
|
||||
de: Tags
|
||||
en: Tags
|
||||
filter:
|
||||
type: foreignKey
|
||||
- source: updateTime
|
||||
type: datetime
|
||||
filter: false
|
||||
label:
|
||||
de: letztes Update
|
||||
en: last update
|
||||
- source: file.type
|
||||
name:
|
||||
de: Dateityp
|
||||
en: Filetype
|
||||
filter: true
|
||||
@@ -1,26 +0,0 @@
|
||||
type: simpleList
|
||||
mediaQuery: "(min-width: 0px)"
|
||||
defaultSelect: false
|
||||
selectionPriority: 3 #gibt an, wenn mediaQuery passt, mit welcher priorität es default mäßig ausgewählt sein soll, je niedriger, desto wichtiger
|
||||
fileDropArea:
|
||||
label:
|
||||
{
|
||||
de: "Ziehen Sie Dateien per Drag and Drop hierher oder klicken Sie, um Dateien auszuwählen.",
|
||||
en: "Drag and drop some files here, or click to upload.",
|
||||
}
|
||||
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
|
||||
targetField: file # gibt an, in welches feld die datei hochgeladen werden soll
|
||||
pageAsDropArea: false # wenn true, wird filedrop area garnicht erst angezeigt, da die ganze seite drag n drop funktionalität hat
|
||||
|
||||
primaryText:
|
||||
source: file
|
||||
# filter: true
|
||||
|
||||
secondaryText:
|
||||
source: title
|
||||
filter: true
|
||||
|
||||
tertiaryText:
|
||||
source: tags
|
||||
filter:
|
||||
type: foreignKey
|
||||
@@ -1,35 +0,0 @@
|
||||
type: table
|
||||
mediaQuery: "(min-width: 800px)"
|
||||
defaultSelect: false
|
||||
selectionPriority: 2
|
||||
fileDropArea:
|
||||
label:
|
||||
{
|
||||
de: "Ziehen Sie Dateien per Drag and Drop hierher oder klicken Sie, um Dateien auszuwählen.",
|
||||
en: "Drag and drop some files here, or click to upload.",
|
||||
}
|
||||
helperText: { de: "Maximale Uploadgröße: 1,54 MB", en: "Maximum upload size: 1.54MB" }
|
||||
targetField: file
|
||||
pageAsDropArea: false
|
||||
columns:
|
||||
- source: file
|
||||
name:
|
||||
de: Datei
|
||||
en: File
|
||||
filter: true
|
||||
- source: tags
|
||||
name:
|
||||
de: Tags
|
||||
en: Tags
|
||||
filter:
|
||||
type: foreignKey
|
||||
- source: file.type
|
||||
label:
|
||||
de: Dateityp
|
||||
en: Filetype
|
||||
filter: true
|
||||
- source: updateTime
|
||||
type: datetime
|
||||
label:
|
||||
de: letztes Update
|
||||
en: last update
|
||||
@@ -1,6 +0,0 @@
|
||||
quickEdit: # Erlaubt das Bearbeiten von Einträgen in der Listenansicht, ohne dass eine neue Seite geöffnet wird
|
||||
enabled: true
|
||||
fields: # felder, die in dieser Ansicht bearbeitet werden können
|
||||
- title
|
||||
- alt
|
||||
- file
|
||||
@@ -1,6 +0,0 @@
|
||||
name: fulltextindex # 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:$** # definiert einen Volltextindex über alle Felder. Der spezielle Operator $text wird verwendet, um einen Volltextindex zu erstellen, und der Operator $\*\* bezeichnet alle Felder in der Sammlung.
|
||||
background: true
|
||||
unique: false # Wenn auf true gesetzt, erzwingt dies, dass der Index eindeutige Werte enthält. Wenn Sie versuchen, einen Eintrag mit einem bereits indizierten Wert hinzuzufügen, wird ein Fehler ausgelöst.
|
||||
defaultLanguage: german # Wird verwendet, um die Sprache für Textindizes festzulegen. Dies ist wichtig für die Volltextsuche, da verschiedene Sprachen unterschiedliche Tokenisierungs- und Stemmungsregeln haben.
|
||||
@@ -1,153 +0,0 @@
|
||||
name: lighthouse
|
||||
|
||||
meta:
|
||||
label: Lighthouse
|
||||
hideInNavigation: true
|
||||
muiIcon: web
|
||||
views:
|
||||
- type: table
|
||||
mediaQuery: "(min-width: 600px)"
|
||||
columns:
|
||||
- source: insertTime
|
||||
filter: true
|
||||
- source: perfomance
|
||||
filter: true
|
||||
- source: accessibility
|
||||
filter: true
|
||||
- source: bestPractices
|
||||
filter: true
|
||||
- source: seo
|
||||
filter: true
|
||||
- type: simpleList
|
||||
mediaQuery: "(max-width: 599px)"
|
||||
primaryText: insertTime
|
||||
secondaryText: performance
|
||||
tertiaryText: accessibility
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: false
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
|
||||
projections:
|
||||
dashboard:
|
||||
|
||||
hooks:
|
||||
post:
|
||||
create:
|
||||
type: javascript
|
||||
file: hooks/lighthouse/post_create.js
|
||||
|
||||
indexes:
|
||||
- !include lib/textIndex.yml
|
||||
|
||||
fields:
|
||||
- name: analyzedPaths
|
||||
type: string[]
|
||||
meta:
|
||||
label:
|
||||
de: Analysierten Pfade
|
||||
en: Analyzed Paths
|
||||
- name: performance
|
||||
type: number
|
||||
meta:
|
||||
label: Performance
|
||||
- name: accessibility
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: Accessibility
|
||||
de: Zugänglichkeit
|
||||
- name: bestPractices
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: Best Practices
|
||||
de: Beste Praktiken
|
||||
- name: seo
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: SEO
|
||||
de: SEO
|
||||
- name: lighthouseMetrics
|
||||
type: object
|
||||
meta:
|
||||
label: Lighthouse Metrics
|
||||
subFields:
|
||||
- name: FCPS
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: First Contentful Paint Score
|
||||
de: Erster Inhaltlicher Anstrich Score
|
||||
- name: FCPV
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: First Contentful Paint Value
|
||||
de: Erster Inhaltlicher Anstrich Wert
|
||||
- name: FMPV
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
de: Erster Bedeutungsvoller Anstrich Wert
|
||||
en: First Meaningful Paint Value
|
||||
|
||||
- name: FMPS
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: First Meaningful Paint Score
|
||||
de: Erster Bedeutungsvoller Anstrich Score
|
||||
|
||||
- name: SIS
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: Speed Index Score
|
||||
de: Geschwindigkeitsindex Score
|
||||
|
||||
- name: SIV
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: Speed Index Value
|
||||
de: Geschwindigkeitsindex Wert
|
||||
|
||||
- name: TTIS
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: Time to Interactive Score
|
||||
de: Zeit bis zur Interaktion Score
|
||||
|
||||
- name: TTIV
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: Time to Interactive Value
|
||||
de: Zeit bis zur Interaktion Wert
|
||||
|
||||
- name: FPIDS
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
de: Erste potenzielle Eingabe Verzögerung Score
|
||||
en: First Potential Input Delay Score
|
||||
|
||||
- name: FPIDV
|
||||
type: number
|
||||
meta:
|
||||
label:
|
||||
en: First Potential Input Delay Value
|
||||
de: Erste potenzielle Eingabe Verzögerung Wert
|
||||
@@ -1,32 +0,0 @@
|
||||
name: lighthouseSubpath
|
||||
|
||||
meta:
|
||||
label: Lighthouse Subpaths
|
||||
hideInNavigation: true
|
||||
muiIcon: web
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: lighthouseSubpath
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: false
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
|
||||
fields:
|
||||
- type: string
|
||||
name: lighthouseSubpath
|
||||
meta:
|
||||
label:
|
||||
de: Zu analysierenden Pfad
|
||||
en: Path to analyze
|
||||
@@ -1,210 +0,0 @@
|
||||
name: medialib
|
||||
uploadPath: ../media/medialib
|
||||
|
||||
meta:
|
||||
allowExportAll: true
|
||||
label:
|
||||
de: Medienbibliothek
|
||||
en: Media Library
|
||||
muiIcon: multimedia
|
||||
defaultSort:
|
||||
field: sort
|
||||
order: MANUALLY
|
||||
|
||||
backup:
|
||||
active: true
|
||||
collectionName: backups
|
||||
|
||||
quickEdit:
|
||||
enabled: true
|
||||
fields:
|
||||
- title
|
||||
- alt
|
||||
- file
|
||||
- tags
|
||||
defaultImageFilter: xs
|
||||
multiupload:
|
||||
fields:
|
||||
- source: category
|
||||
prefilledFields:
|
||||
- source: title
|
||||
defaultValue:
|
||||
eval: |
|
||||
(function(){
|
||||
return $file.name.split(".")[0]
|
||||
})()
|
||||
- source: alt
|
||||
defaultValue:
|
||||
eval: |
|
||||
(function(){
|
||||
return $file.name.split(".")[0]
|
||||
})()
|
||||
views: &views
|
||||
- !include fields/medialibSimpleList.yml
|
||||
- !include fields/medialibTable.yml
|
||||
- !include fields/medialibCardList.yml
|
||||
|
||||
subNavigation:
|
||||
- name: modalForeign
|
||||
defaultSort:
|
||||
field: "path"
|
||||
order: "ASC"
|
||||
views: *views
|
||||
defaultCallback:
|
||||
eval: |
|
||||
//js
|
||||
(entry) => {
|
||||
parent.selectEntry(entry)
|
||||
}
|
||||
//!js
|
||||
|
||||
- name: websiteContent
|
||||
label: Inhalt
|
||||
muiIcon: accountGroup
|
||||
setDefault:
|
||||
field: type
|
||||
value: websiteContent
|
||||
defaultSort:
|
||||
field: "sort"
|
||||
order: "MANUALLY"
|
||||
views: *views
|
||||
filter:
|
||||
"type": "websiteContent"
|
||||
|
||||
- name: other
|
||||
label: Andere
|
||||
muiIcon: accountGroup
|
||||
defaultSort:
|
||||
field: "sort"
|
||||
order: "MANUALLY"
|
||||
views: *views
|
||||
filter:
|
||||
"type": { $ne: "websiteContent" }
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: false
|
||||
delete: true
|
||||
validProjections:
|
||||
- list
|
||||
- details
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
token:${TOKEN}:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
pages:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
|
||||
projections:
|
||||
dashboard:
|
||||
select:
|
||||
details:
|
||||
select:
|
||||
file: 0
|
||||
list:
|
||||
select:
|
||||
file: 1
|
||||
alt: 1
|
||||
hooks:
|
||||
put:
|
||||
return:
|
||||
type: javascript
|
||||
file: hooks/clear_cache.js
|
||||
delete:
|
||||
delete:
|
||||
type: javascript
|
||||
file: hooks/medialib/delete_delete.js
|
||||
|
||||
imageFilter: !include lib/imageFilter.yml
|
||||
|
||||
fields:
|
||||
- !include fields/file.yml
|
||||
- name: type
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Typ
|
||||
en: Type
|
||||
widget: select
|
||||
choices:
|
||||
- name: websiteContent
|
||||
id: websiteContent
|
||||
- name: returnOrderFoto
|
||||
id: returnOrderFoto
|
||||
|
||||
- name: alt
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Alternativtext
|
||||
en: Alternative text
|
||||
helperText:
|
||||
de: Der Alternativtext wird angezeigt, wenn die Datei nicht geladen werden kann.
|
||||
en: The alternative text is displayed if the file cannot be loaded.
|
||||
|
||||
- name: title
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Titel
|
||||
en: Title
|
||||
helperText:
|
||||
de: Der Titel wird angezeigt, wenn die Datei geladen wird.
|
||||
en: The title is displayed when the file is loaded.
|
||||
|
||||
- name: category
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Kategorie
|
||||
en: Category
|
||||
|
||||
- name: tags
|
||||
type: string[]
|
||||
meta:
|
||||
label:
|
||||
de: Tags
|
||||
en: Tags
|
||||
widget: foreignKey
|
||||
filter:
|
||||
type: foreignKey
|
||||
foreign:
|
||||
collection: tag
|
||||
id: id
|
||||
sort: name
|
||||
subNavigation: 0
|
||||
render:
|
||||
raw: true
|
||||
eval: |
|
||||
//js
|
||||
$foreignEntry?.name
|
||||
//!js
|
||||
- name: comment
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Kommentar
|
||||
en: Comment
|
||||
inputProps:
|
||||
multiline: true
|
||||
|
||||
- !include fields/manualSort.yml
|
||||
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:$**
|
||||
@@ -1,93 +0,0 @@
|
||||
name: module
|
||||
|
||||
meta:
|
||||
label: Module
|
||||
allowExportAll: true
|
||||
backup:
|
||||
active: true
|
||||
collectionName: backups
|
||||
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: type
|
||||
name: Typ
|
||||
filter: true
|
||||
- source: label
|
||||
name: Label
|
||||
filter: true
|
||||
- source: germanLabelTranslation
|
||||
name: Deutsche Übersetzung
|
||||
filter: true
|
||||
|
||||
subNavigation:
|
||||
- name: modal
|
||||
views:
|
||||
- type: table
|
||||
columns:
|
||||
- source: type
|
||||
defaultCallback:
|
||||
eval: |
|
||||
//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
|
||||
|
||||
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: Größen Label
|
||||
id: sizeLabel
|
||||
|
||||
- name: label
|
||||
type: string
|
||||
index: [single, unique]
|
||||
meta:
|
||||
label:
|
||||
de: Label
|
||||
en: Label
|
||||
|
||||
- name: germanLabelTranslation
|
||||
index: [single, unique]
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Deutsche Übersetzung
|
||||
en: German Translation
|
||||
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:$**
|
||||
@@ -1,165 +0,0 @@
|
||||
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-folding: &folding
|
||||
previewUnfolded:
|
||||
eval: |
|
||||
$this?.name + ' (Ziel: ' + ($this?.external ? $this?.externalUrl || '' : ($this?.page || '') + ($this?.hash ? '#' + $this.hash : '')) + ')' + ($this?.elements?.length ? ' <small>' + $this?.elements?.length + ' Sub-Navigationselement(e)</small>' : '')
|
||||
raw: true
|
||||
previewFolded:
|
||||
eval: |
|
||||
$this?.name + ' (Ziel: ' + ($this?.external ? $this?.externalUrl || '' : ($this?.page || '') + ($this?.hash ? '#' + $this.hash : '')) + ')' + ($this?.elements?.length ? ' <small>' + $this?.elements?.length + ' Sub-Navigationselement(e)</small>' : '')
|
||||
raw: true
|
||||
|
||||
x-elemente: &elemente
|
||||
name: elements
|
||||
type: object[]
|
||||
meta:
|
||||
label:
|
||||
de: Elemente
|
||||
en: elements
|
||||
folding: *folding
|
||||
|
||||
x-name: &name
|
||||
name: name
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Name
|
||||
en: name
|
||||
helperText:
|
||||
de: Dieser Name wird zur Anzeige in der Navigation verwendet.
|
||||
en: This name is used for display in the navigation.
|
||||
|
||||
x-page: &page
|
||||
name: page
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Seite pfad
|
||||
en: page path
|
||||
dependsOn:
|
||||
eval: |
|
||||
!$parent?.external
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
x-hash: &hash
|
||||
name: hash
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Anker
|
||||
en: anchor
|
||||
dependsOn:
|
||||
eval: |
|
||||
!$parent?.external
|
||||
helperText:
|
||||
de: Geben Sie hier den Anker ein, zu dem der Link führen soll. (ohne '#' am Anfang)
|
||||
en: Enter the anchor to which the link should lead. (without '#' at the beginning)
|
||||
containerProps:
|
||||
layout:
|
||||
size:
|
||||
default: "col-6"
|
||||
small: "col-12"
|
||||
large: "col-6"
|
||||
|
||||
x-external: &external
|
||||
name: external
|
||||
type: boolean
|
||||
meta:
|
||||
label:
|
||||
de: Externer Link
|
||||
en: external link
|
||||
helperText:
|
||||
de: Wenn aktiviert, wird der Link in einem neuen Tab geöffnet.
|
||||
en: If activated, the link will be opened in a new tab.
|
||||
|
||||
x-externalUrl: &externalUrl
|
||||
name: externalUrl
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Externer Link
|
||||
en: external link
|
||||
dependsOn:
|
||||
eval: |
|
||||
$parent?.external
|
||||
helperText:
|
||||
de: Geben Sie hier die URL ein, zu der der Link führen soll.
|
||||
en: Enter the URL to which the link should lead.
|
||||
|
||||
fields:
|
||||
- name: tree
|
||||
type: number
|
||||
meta:
|
||||
label: Baum
|
||||
widget: select
|
||||
helperText:
|
||||
de: Die Servicenavigation sollte Seiten wie bspw. die Datneschutzerklärung oder das Impressum umfassen.
|
||||
en: The service navigation should include pages such as the data protection declaration or the imprint.
|
||||
defaultValue: 0
|
||||
choices:
|
||||
- id: 0
|
||||
name:
|
||||
de: Hauptnavigation
|
||||
en: main navigation
|
||||
- id: 1
|
||||
name:
|
||||
de: Service Navigation
|
||||
en: Service Navigation
|
||||
|
||||
- id: 2
|
||||
name:
|
||||
de: Rechtliche Navigation
|
||||
en: Legal Navigation
|
||||
|
||||
- <<: *elemente
|
||||
subFields:
|
||||
- *name
|
||||
- *external
|
||||
- *page
|
||||
- *hash
|
||||
- *externalUrl
|
||||
- <<: *elemente
|
||||
subFields:
|
||||
- *name
|
||||
- *external
|
||||
- *page
|
||||
- *hash
|
||||
- *externalUrl
|
||||
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:$**
|
||||
@@ -1,66 +0,0 @@
|
||||
########################################################################
|
||||
# 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
|
||||
- source: path
|
||||
filter: true
|
||||
- source: validUntil
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: false
|
||||
put: false
|
||||
delete: true
|
||||
|
||||
hooks:
|
||||
get:
|
||||
read:
|
||||
type: javascript
|
||||
file: hooks/ssr/get_read.js
|
||||
post:
|
||||
bind:
|
||||
type: javascript
|
||||
file: hooks/ssr/post_bind.js
|
||||
|
||||
fields:
|
||||
- name: path
|
||||
type: string
|
||||
index: [single, unique]
|
||||
|
||||
- name: content
|
||||
type: string
|
||||
meta:
|
||||
inputProps:
|
||||
multiline: true
|
||||
|
||||
- name: validUntil
|
||||
type: date
|
||||
index: [single]
|
||||
meta:
|
||||
label:
|
||||
de: Gültig bis
|
||||
en: Valid until
|
||||
@@ -1,54 +0,0 @@
|
||||
name: tag
|
||||
uploadPath: ../media/tag
|
||||
|
||||
meta:
|
||||
allowExportAll: true
|
||||
label:
|
||||
de: Tags
|
||||
en: Tags
|
||||
muiIcon: label
|
||||
|
||||
defaultSort:
|
||||
field: name
|
||||
order: ASC
|
||||
|
||||
views: &views
|
||||
- type: table
|
||||
columns:
|
||||
- source: name
|
||||
filter: true
|
||||
subNavigation:
|
||||
- name: modalForeign
|
||||
defaultSort:
|
||||
field: name
|
||||
order: ASC
|
||||
views: *views
|
||||
defaultCallback:
|
||||
eval: |
|
||||
//js
|
||||
(entry) => {
|
||||
parent.selectEntry(entry)
|
||||
}
|
||||
//!js
|
||||
|
||||
permissions:
|
||||
public:
|
||||
methods:
|
||||
get: false
|
||||
post: false
|
||||
put: false
|
||||
delete: false
|
||||
user:
|
||||
methods:
|
||||
get: true
|
||||
post: true
|
||||
put: true
|
||||
delete: true
|
||||
|
||||
fields:
|
||||
- name: name
|
||||
type: string
|
||||
meta:
|
||||
label:
|
||||
de: Name
|
||||
en: Name
|
||||
Reference in New Issue
Block a user