Title: Field Configuration Options --- The JSON Schema Editor allows you to configure fields through a structured dialog. Fields are organized into logical sections to streamline the configuration experience. Section 1: Basics These properties define the fundamental identity and behavior of a field. | Property | Label | Type | Description | |---|---|---|---| | title | Feld Name | string | Human-readable name for the field (e.g. "Vorname", "Anzahl der Türen", "Ist aktiv"). | | key | Technischer Name | string | Unique identifier for the field. Automatically generated from the field title using createPropertyName. Only visible when adding a new field — hidden in edit mode to prevent breaking existing data. | | description | Beschreibung | string | Help text displayed to users below the field input. | | required | Pflichtfeld | boolean | Whether this field must be filled in. Marks the field as required in the schema. | Note: The key field is only visible when adding a new field. Once a field has been created, its key is permanently locked — the key field is hidden in edit mode to prevent accidental data corruption. The key is automatically derived from the field title (via createPropertyName) if not explicitly provided. Section 2: Field Type These properties control how the field stores and presents its data. | Property | Label | Type | Description | |---|---|---|---| | type | Feld Typ | string | The data type of the field (e.g. string, number, boolean, object, array). | | inputWidget | Darstellung | string | Controls how the field is rendered in the UI. Previously labeled "Eingabe-Widget". | | defaultValue | Standardwert | string | Default value applied to new entries when no value is provided. | inputWidget / Darstellung The inputWidget property (shown as Darstellung in the UI) determines the visual presentation and input method for the field. The available options depend on the selected field type. Section 3: Translations These properties provide localized versions of the field's name and description. They are intended for multilingual deployments. | Property | Label | Type | Description | |---|---|---|---| | i18nTitle | Feld Name (übersetzt) | object | Translations of the field name for different languages. Uses the inline translation widget. | | i18nDescription | Beschreibung (übersetzt) | object | Translations of the field description for different languages. Uses the inline translation widget. | Add vs. Edit Mode The field configuration dialog behaves differently depending on whether you are adding a new field or editing an existing one. | Behavior | Add Mode | Edit Mode | |---|---|---| | key field visible | ✅ Yes | ❌ No (locked) | | Key derived automatically | ✅ From key or title | — | | Duplicate key check | ✅ Error shown, field not added | — | Key Generation When adding a field, the technical key (key) is sanitized via createPropertyName to ensure it is a valid property identifier. If no explicit key is provided, it is derived from the title value. This means entering a Feld Name is sufficient — the Technischer Name will be generated automatically. Duplicate Key Detection When adding a new field, the editor checks whether a field with the same generated key already exists in the schema. If a duplicate is detected, the dialog displays an error message: Ein Feld mit dem Schlüssel "{key}" existiert bereits. The field will not be added until the conflict is resolved — either by choosing a different Feld Name or adjusting the Technischer Name so that it is unique within the schema. Important: The key cannot be changed after a field is created. Changing a field's key would break references to existing data stored under that key, so the key field is intentionally hidden when editing. Example: Adding a New Field Enter a Feld Name (e.g. Vorname). The Technischer Name is automatically populated (e.g. vorname) based on the entered name. Optionally review or adjust the Technischer Name before saving — it cannot be changed later. If a field with the same Technischer Name already exists, an error will be shown and you must choose a unique name before proceeding. Optionally add a Beschreibung and mark the field as Pflichtfeld. Select the appropriate Feld Typ and Darstellung. Set a Standardwert if needed. Optionally provide translations under the Translations section. Click Hinzufügen to save. Example: Editing an Existing Field Open the field configuration for an existing field. The Technischer Name is not shown — it is locked and cannot be changed. Modify any other properties as needed. Click Speichern to apply changes.