Skip to main content

UIControl Field Matrix (Implemented)

This matrix reflects what the current front-end renderer actually uses from UIControl metadata in:

  • static/corticon-forms-example/clientSideComponent/dynForm/uiControlsRenderers.js
  • static/corticon-forms-example/clientSideComponent/dynForm/stepsController.js (for validation impact)

If a field is not listed here for a control type, it is not currently influencing rendering behavior.

Cross-Cutting Fields

These are renderer features that apply broadly across controls:

FieldImplemented behavior
idUsed for DOM IDs, labels, and conditional-visibility wiring.
labelRendered via appendLabel(...).
labelPositionControls 'Above' vs 'Side' label placement.
tooltipRendered in label info bubble; many controls also use it as input title.
triggeredByControlWithId + triggeredWhenSelectionHides/shows controls conditionally.
validationErrorMsgDecision-service validation message shown under the control (for controls that call addValidationMsgFromDecisionService).
requiredAdds required marker and, for input controls, enables client-side required validation.

Per-Type Matrix

Legend: Y = implemented for this type, N = not implemented for this type.

UIControl typefieldNamevalueplaceholderrequiredmin/maxminDT/maxDToptiondataSourcemultipleOther implemented fields / notes
TextYYYYY (character length)NNNYUses dynamic array UI when multiple=true.
TextAreaYYYYY (character length)NNNNSupports rows, cols.
NumberYYYYY (numeric bounds)NNNYSupports dataType, step, format, decimals.
DateTimeYYNYNYNNYSupports showTime for date vs date-time picker.
YesNoYYNYNNNNNRenders Yes/No select; stores yes/no.
YesNoBooleanYYNYNNNNNRenders Yes/No select; stores T/F.
ReadOnlyTextNYNNNNNNNDisplay-only text.
SingleChoiceYYNYNNNNNCheckbox renderer.
RadioYYNYNNYNNStatic options only (option[]).
MultipleChoicesYYYYNNYYNSupports static and/or REST-driven options.
MultipleChoicesMultiSelectYY (array)Y (limited UX impact)YNNYYNMulti-select variant of MultipleChoices.
MultiTextYNYNNNNNNIntrinsically repeatable control (internal add-row behavior).
MultiExpensesYNNNNNYNNSupports showCurrency (defaults on). Intrinsically repeatable.
FileUploadYNNYNNNNNSupports accept, allowMultiple.
FileUploadExpensesYNNYNNNNNSupports accept, allowMultiple.
GeolocationYNYYNNNNNUses Maps autocomplete + browser geolocation button.
RatingYYYYY (numeric bounds)NNNNSupports step; min/max default to 1..5 when omitted.
QRCodeNYNNNNNNNSupports size, color, background.

MultipleChoices vs Radio (Choices Definition)

Both controls use the same static option object shape:

Option.new [value='email', displayName='Email']

But behavior differs:

  • Radio currently uses only static option[] (no dataSource support).
  • MultipleChoices supports both static option[] and dynamic dataSource (+ dataSourceOptions mapping).
  • MultipleChoicesMultiSelect supports multiple selected values; Radio is single-select only.