Fields
Fields
| Brezel Type | Column Type (Laravel) | options.fields | options.references | options.mode | options.values |
|---|---|---|---|---|---|
checkbox | boolean | - | - | switch | - |
choice | string | - | - | select;buttons;radio | Values[] |
client | string | - | - | - | - |
code | longText | - | - | - | - |
color | string | - | - | - | - |
currency | special_number | - | - | - | - |
date | date | - | - | - | - |
month | date | - | - | - | - |
dateRange | json | - | - | - | - |
datetime | dateTime | - | - | - | - |
email | string | - | - | - | - |
file | - | - | module_indentifier e.g. "files" | - | - |
incrementing | special_incrementing | - | - | - | - |
layout | longText | - | - | - | - |
link | string(2048) | - | - | table;tabs | - |
list | - | Fields[] | - | - | - |
multiselect | - | - | module_indentifier | - | - |
number | special_number | - | - | - | - |
range | string | - | - | - | - |
rating | special_rating | - | - | - | - |
select | - | - | module_indentifier | - | - |
signature | longText | - | - | - | - |
tel | string | - | - | - | - |
text | string | - | - | - | - |
textarea | longText | - | - | - | - |
time | time | - | - | - | - |
uniqid | string | - | - | - | - |
upload | - | - | module_indentifier e.g. "files" | - | - |
week | string | - | - | - | - |
wysiwyg | longText | - | - | - | - |
Optional Keys for Fields
recipe: calulation for field value(eg. field_identifier + field_identifier)options: Array(filled with options from the list below)
Field Options
autofocus: booleanallow_clear: boolean [dateRange, choice(mode = select), month, date, time, dateTime]whether input clearable (default: true)button: boolean [upload]copyButton: boolean [text]whether to display a copy buttoncopyTemplate: boolean [text]contains template string to modify the copy value. e.g. “prefix {{value}} suffix”column_width: stringdecimal_digits: int [currency, number]default: value;[month]:NOWor a date in the formatYYYY-MM;[date]:NOWor a date in the formatYYYY-MM-DD;[time]:NOWor a date in the formatHH:mm:ss;[datetime]:NOWor a date in the ISO 8601 format (UTC)YYYY-MM-DDTHH:mm:ss.SSSSSSZenable_search: boolean(used by type choice mode select) whether input search is possible (default: true)with: array(which relations inside a relation will be loaded)display_as_icon_in_table: booleanevents: Object(to trigger Workflows etc)fields: Array(used by type list)frontend_disabled: boolean(disables the input, but allows value changes by the api)help: booleanhidden_from_frontend: boolean(hides the field completely)hideSearch [select]if true, this option hides the search button which would open a resource tablehide_value [text](does not show the value when viewing the field but can still be edited as cleartext)inline_list [boolean](field_type: upload)ignore_when_empty: booleanincrementing_default: intincrementing_format: Stringmaxlength: int(set input length / for password and text fields)max_tags: int(set maximum number of visible tags in multiselect fields)mode: String(used by types choice, checkbox and list)multiple: boolean(field_type: upload)no_filter_in_entity_table: booleanno_sorter_in_entity_table: booleanno_title_in_entity_table: booleanno_currency: boolean(hides currency symbol in currency)readonly: boolean(makes the field fully readonly for frontend and api. Usefrontend_disabledif you just want a disabled input field)recipes: recipes list for optionsreferences: reference(setting_helper_module for Helper Module references)rules:(eg. required; we support nearly all laravel validations)- E.g.
"rules": "required","rules": "required_if:field_name,value","rules": "unique:table,column,except,id_column"(e.g."rules": "unique:tenant.users,email,ENTITY_ID,id"for a unique user by email or"rules": "unique:tenant.resource_projects,name,ENTITY_ID,resource_id"for a uniqueprojectbyname. Theresource_prefix is needed for “normal” modules!)
- E.g.
seo_only: boolean(legacy) (used by type wysiwyg, displays only ‘general’ options)show_in_export: booleanshow_in_resource_table: booleansort: boolean [select, multiselect]sorts elements in dropdown alphabeticallysortField: String [select, multiselect]sorts elements in dropdown based on this fieldsortOrder: "asc"|"desc" [select, multiselect]defines sort order of elements in dropdownsource: String(used by type choice, currently is only value “countries” possible)toolbar: Array<String>(used by type wysiwyg, toolbar will only show items listed in this array)toolbar_preset: String(use a predefined toolbar preset, e.g. “seo_only”)values: Array(used by type choice)show_as_iframe: boolean(used by types link and wysiwyg) whether to show field content in an iframevalidationState: 'warning' | 'error' | 'validating' | 'success' | nullused to display custom errors, use withvalidateMessage, submit validation will be shown first (see ant docs)validateMessage: StringMessage being displayed when a validationState is setno_paragraphs: Boolean(used by wysiwyg) Disables standard behaviour and wraps all text nodes in<div>instead of<p>preserve_line_breaks: Boolean(used by wysiwyg) Only takes effect in combination withno_paragraphs. Preserves line breaks in the text by storing empty lines as<div><br/></div>instead of<div></div>.minute_step_length : int(used by datetime) This option forces the entered time into the defined minute interval by rounding and limits the choices in the picker as such.full_day: boolean [dateRange]If true, the range field does not have a time component. (Stored values will be from 00:00 start day to 23:59 end day)full_day_toggle: boolean [dateRange]Whether to show a button with which the user can toggle full_day mode on and offtext_input: boolean [date, dateRange, datetime, month, time]Iftrue, allow text input for field.Falseby default which will not open a mobile keyboard.custom_label: stringIf set, use this value as the field label instead of a translated label based on the identifier.
Option value can be static or calculated with recipe. There are cases when recipes are long (for example for styles definition), then better to move them to separate file
Example :
{ "identifier": "some_field", "type": "text", "options": { "style": "${trimFile('recipes/fieldStyle.recipe')}" }}Example 2 (show or hide file field depending on show_file checked or not) :
{ "identifier": "attached_file", "type": "file", "options": { "hidden_from_frontend": true, "recipes": { "hidden_from_frontend": "!show_file" }, "references": "files" }}Location Autocomplete for Text Field
type: string(location or list)Location autocomplete actually not allowed!input: objectcountry: stringreference to a field to optimize the search (Example: field_country / value: “Germany”) (optional)
output: objectcity: stringname of a text field to place the search city result in (optional)zip: stringname of a text field to place the search zip code result in (optional)region: stringname of a text field to place the search region result in (optional)
values: arrayentries for autocompleterecipes: objectrecipe function for valuesvalues: string / recipelike x = y ? x : y
{ "identifier": "address_street", "type": "text", "options": { "autocomplete": { "type": "location", "input": { "country": "address_country" }, "output": { "city": "address_city", "zip": "address_zip", "region": "address_region" } } }}{ "identifier": "example_text", "type": "text", "options": { "autocomplete": { "type": "list", "recipes": { "values": "language == 'german' ? ${trimFile('recipes/de.recipe')} : ${trimFile('recipes/en.recipe')}" } } }}List options
item_width: string(eg. 300px)show_ordering: booleanshow_handle: booleantitle_field: String(for tabs: field identifier that is used as tab title)closable: boolean(for tabs)
Options for Fields in Lists
list_item_max_width: string(eg. 300px)list_item_min_width: string(eg. 200px)align_buttons_left: boolean(moved add and delete buttons to the left)
Select options
related_entries_load_limit: intno limit: -1showMode: Stringcan be set totabletable_select: booleanshow/hide the search icon for the table select (default: true)add_options: booleanshow/hide the options-add button (default: false)edit_options: booleanshow/hide the options-edit button (default: false)filters: Arrayallows to pre-filter select and multiselect options. Example of use:
"filters": [ { "column": "type", "operator": "LIKE", "value": "Lieferant" }]Marking required fields as such
To append a star to the field name of required fields, the field group containing the fields needs to have the option
mark_required_fields: true
{ "type": "field_group", "options": { "mark_required_fields": true, "fields": [ "owner", "brand_label" ] }}Show field labels above combined fields (Vue 3)
Displays the label above combined fields. The main label identifier is combined_firstfieldname
show_combined_fields_label: true
{ "type": "field_group", "options": { "show_combined_fields_label": true, "fields": [ [ "name", "last_name" ] ] }}