EditMode must be bound to the containing form's edit mode/state. When the form is in edit mode, the field will be rendered as an editable control (if not a read only field), otherwise the field will be rendered read-only.
Readonly EncryptedThe masked display text for encrypted values (shows dots instead of actual value)
The name of the field in the entity to be rendered.
Optional, when the field type is a linked field, you can specify if a search box is shown or a dropdown component is shown. The default is 'search'.
Optional, the type of link field that should be shown. Email and URL fields will be rendered as hyperlinks, Record fields will be rendered as links to the record. The default is 'None'. Record Fields are only valid when the FieldName field is a foreign key field to another entity.
If set to false, the label for the field will not be shown. The default is true.
The type of control to be rendered for the field. The default is 'textbox'. Other possible values are 'textarea', 'numerictextbox', 'datepicker', 'checkbox', 'dropdownlist', 'combobox', 'code'.
Private _displayPrivate _encryptedFor encrypted fields in edit mode where AllowDecryptInAPI=false, we need a separate edit value that starts empty (user can't see existing value)
Private _possibleOptional formForm context containing all form-level state (filter, showEmptyFields, etc.)
When true (default), the field will be hidden when it has no value and is in read-only mode. This helps reduce visual clutter by hiding empty fields.
Controls whether the encrypted value is currently visible (for AllowDecryptInAPI=true fields)
Controls whether the new value being typed is visible (for blind edit mode)
The record object that contains the field to be rendered. This object should be an instance of BaseEntity or a derived class.
Private rendererReturns true if the field allows decrypted values to be shown in the API
Returns true if the encrypted field has a value that can be revealed (AllowDecryptInAPI=true)
Display Name to show on the the control. By default, this is derived from the DisplayName in the entity field metadata, and can be overridden if desired by setting this property manually. Leave it empty to use the default.
Gets the value for editing encrypted fields. For AllowDecryptInAPI=false fields, returns empty string initially (user can't see existing value) For AllowDecryptInAPI=true fields, returns the actual value
Sets the encrypted edit value and updates the record
Returns the display name with search highlighting applied if formContext.sectionFilter is set
Returns true if editing an encrypted field that doesn't allow viewing existing value
Returns true if the field is configured for encryption in the entity metadata
Returns true if the field is read only. This is determined by the ReadOnly property in the entity field metadata.
Returns true if the field's current value is the encrypted sentinel value, indicating that the actual value is protected and cannot be shown.
Returns true if the field's current value should be treated as protected for display purposes. For encrypted fields where AllowDecryptInAPI=false, any non-empty value should be hidden.
The possible values for the field. This is only used when the field is a dropdownlist or combobox. The possible values are derived from the EntityFieldValues in the entity field metadata. If the field is not a dropdownlist or combobox, this property is ignored. If you would like to specify a custom list of values, you can set this property manually.
Returns true if the field should be hidden (empty value in read-only mode with hideWhenEmptyInReadOnlyMode enabled)
Private escape
This component is used to automatically generate a UI for any field in a given BaseEntity object. The CodeGen tool will generate forms and form sections that use this component. This component automatically determines the type of the field and generates the appropriate UI element for it. It is possible to use other elements to render a field as desired in a custom form, think of this component as a nice "base" component you can use for many cases, and you can create custom components for field rendering/editing when needed.