Overview
Altri Widget
Panoramica dei widget field-editor che non hanno una pagina dedicata in questa sezione.
Widget inclusi
texttxt_areabooleannumber_booleandatedatetimecolortreepointpolygonmultiple_check(se non trattato come lookup avanzato)
Proprietà metadata comuni
mc_display_string_in_edit,mc_display_string_in_view: label/caption.mc_logic_editable,mc_editable_insert_only: regole editabilità.mc_hide_in_list,mc_hide_in_edit,mc_hide_in_detail: visibilità.mc_show_in_filters,mc_filter_hide_operator,mc_filter_disable_operator: comportamento filtro.mc_default_value,mc_default_value_callback: valori default.mc_validation_*: required/pattern/type/max/min/custom.mc_logic_converter_*: convertitori read/write.mc_suggest_value_callback: suggest automatico.
mc_props_bag trasversale (base)
Snippet 1JSON
{
"form": {
"columns": 1,
"disabled": false
},
"style": {
"editCss": ""
Note per tipo
boolean/number_boolean: focus su default/required e rendering toggle-checkbox.date/datetime: attenzione a formato locale e timezone lato UI.color: usa valore stringa CSS (#rrggbbo equivalente).point/polygon: dipendono da formato JSON coordinate e widget mappa correlati.text/txt_area: combinaremc_max_length+ validazioni pattern dove serve.
Formati accettati per le colonne point
Una colonna point si modifica con un editor di testo: il server accetta la posizione in uno di questi formati e la salva come punto geografico (X = longitudine, Y = latitudine) su tutti i DBMS supportati.
| Formato | Esempio (Milano) | Ordine |
|---|---|---|
| JSON | {"lat": 45.4642, "lng": 9.19} (anche lon / long) | per nome |
| Coppia separata da virgola | 45.4642, 9.19 | latitudine, longitudine |
| WKT | POINT(9.19 45.4642) | longitudine, latitudine |
| Testo legacy | Lat: 45.4642, Long: 9.19 | per nome |
- Il separatore decimale è il punto (nella coppia e nel WKT la virgola separa i valori).
- Un valore vuoto salva la posizione come assente (NULL).
- Un valore in un formato diverso viene rifiutato con un errore di validazione (HTTP 400,
errors.input.geo_point.invalid) che indica la colonna e il valore ricevuto: il record non viene salvato e la posizione precedente resta invariata. - In lettura la posizione torna sempre come JSON
{"lat": ..., "lng": ...}. - Le colonne
polygon(tipo DBgeometry) accettano WKTPOINT,POLYGONoMULTIPOLYGON; su Oracle un WKT non valido viene rifiutato conerrors.input.geo_wkt.invalid.
Effetti Client/Server
- Client: scelta widget dinamica da
mc_ui_column_type(MetadataProviderService.widgetMap). - Server: persistenza/filtri/sort in base al tipo DB e mapping metadata.