From 0fa213f3b6a0448cb56d6b050445ee4c3956a884 Mon Sep 17 00:00:00 2001 From: Sebastian Frank Date: Wed, 30 Sep 2026 20:36:22 +0000 Subject: [PATCH] feat(schema): templateProps + schemaRef + designGuide + blockStudio Vorbereitung fuer dynamische Pagebuilder-Bloecke (nova feature/dynamic-pagebuilder-blocks): - field-meta: Widget templateProps, meta.schemaRef {ref?, field required} (statische subFields / Sibling-Schema / FK-Schema fuer type:any-Felder) - collection-meta: meta.designGuide (i18nText) als KI-Hinweis pro Collection - collection-meta: viewHint.blockStudio {previewField, lint, renderer.file} (Spezial-View wie navigation/media, inkl. oneOf-Zweig) --- schemas/config/collection-meta.schema.json | 32 ++++++++++++++++++++++ schemas/config/field-meta.schema.json | 16 +++++++++++ 2 files changed, 48 insertions(+) diff --git a/schemas/config/collection-meta.schema.json b/schemas/config/collection-meta.schema.json index e290b67..de14daa 100644 --- a/schemas/config/collection-meta.schema.json +++ b/schemas/config/collection-meta.schema.json @@ -17,6 +17,9 @@ "group": { "type": "string" }, + "designGuide": { + "$ref": "defs.schema.json#/definitions/i18nText" + }, "imageUrl": { "oneOf": [ { @@ -287,6 +290,30 @@ } } } + }, + "blockStudio": { + "type": "object", + "additionalProperties": false, + "properties": { + "previewField": { + "type": "string" + }, + "lint": { + "type": "boolean" + }, + "renderer": { + "type": "object", + "additionalProperties": false, + "properties": { + "file": { + "type": "string" + } + }, + "required": [ + "file" + ] + } + } } }, "oneOf": [ @@ -299,6 +326,11 @@ "required": [ "navigation" ] + }, + { + "required": [ + "blockStudio" + ] } ] } diff --git a/schemas/config/field-meta.schema.json b/schemas/config/field-meta.schema.json index c05105a..c54db19 100644 --- a/schemas/config/field-meta.schema.json +++ b/schemas/config/field-meta.schema.json @@ -35,6 +35,7 @@ "foreignMedia", "pagebuilder", "pageBuilder", + "templateProps", "containerLessObject", "containerLessObjectArray", "color" @@ -299,6 +300,21 @@ } } }, + "schemaRef": { + "type": "object", + "additionalProperties": false, + "properties": { + "ref": { + "type": "string" + }, + "field": { + "type": "string" + } + }, + "required": [ + "field" + ] + }, "openapi": { "$ref": "openapi.schema.json#/definitions/fieldOpenapi" }