Overview
Other Widgets
Overview of field-editor widgets that do not have a dedicated page in this section.
Included Widgets
texttxt_areabooleannumber_booleandatedatetimecolortreepointpolygonmultiple_check(if not treated as an advanced lookup)
Common Metadata Properties
mc_display_string_in_edit,mc_display_string_in_view: label/caption.mc_logic_editable,mc_editable_insert_only: editability rules.mc_hide_in_list,mc_hide_in_edit,mc_hide_in_detail: visibility.mc_show_in_filters,mc_filter_hide_operator,mc_filter_disable_operator: filter behavior.mc_default_value,mc_default_value_callback: default values.mc_validation_*: required/pattern/type/max/min/custom.mc_logic_converter_*: read/write converters.mc_suggest_value_callback: automatic suggest.
Cross-cutting mc_props_bag (base)
Snippet 1JSON
{
"form": {
"columns": 1,
"disabled": false
},
"style": {
"editCss": ""
Notes by Type
boolean/number_boolean: focus on default/required and toggle-checkbox rendering.date/datetime: pay attention to locale format and timezone on the UI side.color: uses a CSS string value (#rrggbbor equivalent).point/polygon: depend on JSON coordinate format and related map widgets.text/txt_area: combinemc_max_length+ pattern validations where needed.
Accepted formats for point columns
A point column is edited with a text editor: the server accepts the position in any of these formats and stores it as a geographic point (X = longitude, Y = latitude) on every supported DBMS.
| Format | Example (Milan) | Order |
|---|---|---|
| JSON | {"lat": 45.4642, "lng": 9.19} (also lon / long) | by name |
| Comma-separated pair | 45.4642, 9.19 | latitude, longitude |
| WKT | POINT(9.19 45.4642) | longitude, latitude |
| Legacy text | Lat: 45.4642, Long: 9.19 | by name |
- The decimal separator is the dot (in the pair and in WKT the comma separates values).
- An empty value stores the position as missing (NULL).
- A value in any other format is rejected with a validation error (HTTP 400,
errors.input.geo_point.invalid) that names the column and the received value: the record is not saved and the previous position is left unchanged. - When read back, the position is always returned as JSON
{"lat": ..., "lng": ...}. polygoncolumns (DB typegeometry) acceptPOINT,POLYGONorMULTIPOLYGONWKT; on Oracle invalid WKT is rejected witherrors.input.geo_wkt.invalid.
Client/Server Effects
- Client: dynamic widget selection from
mc_ui_column_type(MetadataProviderService.widgetMap). - Server: persistence/filters/sort based on DB type and metadata mapping.