Overview

Altri Widget

Panoramica dei widget field-editor che non hanno una pagina dedicata in questa sezione.

Widget inclusi

  • text
  • txt_area
  • boolean
  • number_boolean
  • date
  • datetime
  • color
  • tree
  • point
  • polygon
  • multiple_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 (#rrggbb o equivalente).
  • point / polygon: dipendono da formato JSON coordinate e widget mappa correlati.
  • text / txt_area: combinare mc_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.

FormatoEsempio (Milano)Ordine
JSON{"lat": 45.4642, "lng": 9.19} (anche lon / long)per nome
Coppia separata da virgola45.4642, 9.19latitudine, longitudine
WKTPOINT(9.19 45.4642)longitudine, latitudine
Testo legacyLat: 45.4642, Long: 9.19per 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 DB geometry) accettano WKT POINT, POLYGON o MULTIPOLYGON; su Oracle un WKT non valido viene rifiutato con errors.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.