EntityField
This page provides generated reference documentation for the EntityField data model.
A field of an entity
Overview
| Property | Summary |
|---|---|
| children | List of children in this container |
| ckeditorAIAssistantEnabled | Determines whether the AI Assistant is active for this CKEditor instance. Behavior: true: enable the AI Assistant for this instance of the CKEditor… |
| ckeditorAIAssistantEnabledProcess | Determines whether the AI Assistant is active for this CKEditor instance. The process is only executed once during initialization of the CKEditor instance and… |
| ckeditorAICommandsProcess | Specifies a process that overwrites the default AI commands that are set in the ckeditorDefaultAICommandsProcess in the preferences If null is returned, then… |
| ckeditorAISystemPromptProcess | Specifies a process that overwrites the default AI system prompt that is set in the ckeditorDefaultAISystemPromptProcess in the preferences. The process should… |
| color | Defines a color for an element. |
| colorProcess | Defines a color for an element dynamically by executing the process. Where (or if) the color is used depends on different actors in the system and is defined… |
| compareChangesWithRecordField | Specifies whether a change should be detected if the value is different from the RecordField. If the property is false, changes are only recognized if the… |
| consumer | Specify already existent consumers within this entity to define possibleValues for this field. For example a lookup-component will be available in the client… |
| contentType | Specifies the type of the content of an entity field. |
| contentTypeProcess | Process that overrides the static contentType and calculates the value by using JDito. |
| customProperties | — |
| description | Short technical description of the model in plain text. |
| displayValueProcess | The result of the process is written into the displayValue of the field. The process will not be executed when the recordContainer has already set a… |
| documentation | Contains the documentation of the data model in the popular AsciiDoc format (.adoc). The documentation should be set by the developer to explain different… |
| dropDownProcess | With this process you can define the possible items for this field. A combobox will be available in the client to select a value. |
| filterTreeExcludedFieldsProcess | Process that returns an array of EntityFieldNames that should be excluded when the FilterTree is shown. e.g. result.object(['SUBJECT', 'INFO']) will exclude… |
| filterTreeIgnorePermissions | If this setting is set to true, all existing permissions for the entity fields within the filter tree component are ignored. e.g. PermissionDetail_entity:… |
| groupable | If the groupable property of a field is set, this field can be selected as a grouping in the filter. |
| htmlEditorFeatures | Specifies what features should be available in the HTML editor. |
| inputFormat | Specifies the input format of the component. |
| linkedContext | This will create a reference from your field to another context. For example: If you've got a ORGANISATION_ID you may want to link to a context that contains… |
| linkedContextProcess | Basically the same as the linkedContext property that can be calculated dynamically with a process. This is useful if you've got a field that could be… |
| mandatory | Indicates whether this field is mandatory and the value of this field must be set. |
| mandatoryProcess | The return value (boolean) indicates whether this field is mandatory and the value of this field must be set. |
| maxValue | The maximum value |
| maxValueProcess | The process for the maximum value |
| mentionFeeds | JSON structure, that determines the mentions shown in the CKEditor. Needs to return an array of JSON objects containing a feed of tags. |
| minValue | The minimum value |
| minValueProcess | The process for the minimum value |
| onValidation | The onValidation is executed during loss of focus to check the input for validity. Validations fails, if a message other than true is returned by… |
| onValueChange | Process that is executed when the value of a field was changed. Will only trigger if the change was performed by a sources that is set in the… |
| onValueChangeTypes | ## Value Change Sources for onValueChange Process |
| outputFormat | Specifies the output format of the component. |
| placeholder | Placeholder. Text that is displayed inline in a component |
| placeholderProcess | Process for a placeholder, will replace the placeholder property. |
| preferredGroupOrder | This property defines the preferred order of the groups. If DISPLAYVALUE is selected, but not available, then VALUE is used. |
| resolution | If a graphic formatting of the value is desired, this is specified here. |
| selectionMode | Determines how many elements may be selected. For example, select either none, one dataset or multiple datasets at a time. |
| selectionModeProcess | A process that can determine the selectionMode dynamically. You have to return the corresponding selectionMode in the process with result.string(...). |
| state | Determines the state of an element, for example: element can be edited, element is not visible, element is inactive, etc. |
| stateProcess | A process that can determine the state dynamically. You have to return the corresponding state in the process with result.string(...) This will overwrite the… |
| textInputAllowed | This property enables the functionality for the user to enter a own value |
| title | Singular title of the model, e.g. Surname |
| titleProcess | Process to determine the title dynamically. This will overwrite the value of the title property and is for example displayed in the views within the client. |
| tooltip | Tooltip. Text that is displayed when the mouse is driven over a component. |
| tooltipProcess | Process of tooltip labeling. |
| usePermissions | Determines if the element is relevant for the authorisation concept. For example: If this value is true the element can be selected for the grant… |
| valueProcess | The result of the process is written into the field. The process will not be executed when already the recordContainer has already set a value. |
children
Type: Children
List of children in this container
ckeditorAIAssistantEnabled
Type: Boolean
Default: true
Requires: contentTypeProcess property group
Determines whether the AI Assistant is active for this CKEditor instance. Behavior: true: enable the AI Assistant for this instance of the CKEditor (=default). false: disable the AI Assistant for this instance of the CKEditor.
ckeditorAIAssistantEnabledProcess
Type: String
Requires: contentTypeProcess property group
Determines whether the AI Assistant is active for this CKEditor instance. The process is only executed once during initialization of the CKEditor instance and can be used to enable or disable the AI Assistant based on different conditions. Overwrites the ckeditorAIAssistantEnabled flag of the CKEditor instance.
ckeditorAICommandsProcess
Type: String
Requires: contentTypeProcess property group
Specifies a process that overwrites the default AI commands that are set in the ckeditorDefaultAICommandsProcess in the preferences If null is returned, then no commands will be visible in the CKEditor. The process should return an array with JSON objects that contain the following properties: e.g. [{ groupId: customGroupId, groupLabel: My group of commands, commands: [ { id: translateSpanish, label: Translate to Spanish, prompt: Translate this text to Spanish. }, { id: explainFive, label: Explain like I'm five, prompt: Explain this like I'm five years old. } ] }] Consult the CKEditor Documentation for more information.
ckeditorAISystemPromptProcess
Type: String
Requires: contentTypeProcess property group
Specifies a process that overwrites the default AI system prompt that is set in the ckeditorDefaultAISystemPromptProcess in the preferences. The process should return a string that describes how the AI should behave. If null is returned, then the default CKEditor prompt is used: "Your task is to generate HTML content accordingly to the given instruction. Never include img tag in your response even if asked for. Your answer must be a well-structured and properly formatted HTML code. Answer only with the generated HTML content. Do not add any additional remarks or notes. Do not act like a chatbot or a real person."
color
Type: String
Defines a color for an element.
Where (or if) the color is used depends on different actors in the system and is defined internally.
Note that the color can not be chosen freely, but you can select from different presets (e.g.: priority-high-color).
This will ensure that the color will fit on different themes and for example a warning-color will always stand out.
colorProcess
Type: String
Defines a color for an element dynamically by executing the process.
Where (or if) the color is used depends on different actors in the system and is defined internally.
Note that the color can not be chosen freely, but you can select from different presets.
Within the system.neon module there exist constants for the different colors, e.g. neon.PRIORITY_HIGH_COLOR or neon.BRAND_COLOR.
This will ensure that the color will fit on different themes and for example a warning-color will always stand out.
compareChangesWithRecordField
Type: Boolean
Default: false
Specifies whether a change should be detected if the value is different from the RecordField.
If the property is false, changes are only recognized if the new value differs from the value after initialization.
consumer
Type: String
Specify already existent consumers within this entity to define possibleValues for this field. For example a lookup-component will be available in the client to select a record.
contentType
Type: EContentType
Specifies the type of the content of an entity field.
This setting evaluates the client's graphical component and, for example, displays a boolean renderer in a table or renders an image.
contentTypeProcess
Type: String
Process that overrides the static contentType and calculates the value by using JDito.
customProperties
Type: CustomProperties
description
Type: String
Short technical description of the model in plain text.
displayValueProcess
Type: String
The result of the process is written into the displayValue of the field.
The process will not be executed when the recordContainer has already set a displayValue. Note that you may need to specify the displayValueProcess in addition in certain situations (for example if your field is editable)
You should only set the displayValue if you've got a value (see valueProcess).
documentation
Type: String
Contains the documentation of the data model in the popular AsciiDoc format (.adoc).
The documentation should be set by the developer to explain different aspects (like purpose, concept, etc.) of the data model that they designed.
You may want to add the extension "AsciiDoc" to your ADITO Designer in order to modify AsciiDoc files.
<!--VSCODE_ONLY-->
dropDownProcess
Type: String
With this process you can define the possible items for this field. A combobox will be available in the client to select a value.
filterTreeExcludedFieldsProcess
Type: String
Requires: contentTypeProcess property group
Process that returns an array of EntityFieldNames that should be excluded when the FilterTree is shown.
e.g. result.object(['SUBJECT', 'INFO']) will exclude these fields from the available filter fields.
filterTreeIgnorePermissions
Type: Boolean
Default: false
Requires: contentTypeProcess property group
If this setting is set to true, all existing permissions for the entity fields within the filter tree component are ignored.
e.g. PermissionDetail_entity: The administrator should be able to open the filter tree for the entity field CONDITION and grant conditional permissions without having the permissions for the entity to be permitted.
groupable
Type: Boolean
Default: false
If the groupable property of a field is set, this field can be selected as a grouping in the filter.
This is only possible in views that support grouping - for example: Tree, TreeTable, Chart, Map.
htmlEditorFeatures
Type: EHtmlEditorFeatures
Requires: contentTypeProcess property group
Specifies what features should be available in the HTML editor.
If set to BASIC the editor will only have the basic features such as font stylings.
Whereas if set to ADVANCED the editor will have rich CMS features like creating tables and further styling options.
inputFormat
Type: String
Specifies the input format of the component.
The output can be formatted according to the type of the related database column, such as time and date values.
These can be set using a help editor.
<!--EOF-->
Please note that some of the example values are only applicable for specific types in contentType.
The available special characters are the following:
For text values
#: Any valid number, uses Character.isDigit.': Escape character, used to escape any of the special formatting characters.U: Any character (Character.isLetter). All lowercase letters are mapped to upper case.L: Any character (Character.isLetter). All upper case letters are mapped to lower case.A: Any character or number (Character.isLetter or Character.isDigit)?: Any character (Character.isLetter).*: Anything.H: Any hex character (0-9, a-f or A-F).
For number values
0: number, digit, localised#: number, Digit, zero shows as absent, localised.: number, Decimal separator or monetary decimal, localised-: number, Minus, localised,: number, Grouping separator, localisedE: number, Separates mantissa and exponent in scientific notation. Need not be quoted in prefix or suffix, localised;: Subpattern boundary, Separates positive and negative subpatterns, localised%: pos, Multiply by 100 and show as percentage, localised‰: pos, Multiply by 1000 and show as per mille, localised¤: pos, Currency sign, replaced by currency symbol. If doubled, replaced by international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator. not localised€: Currency symbol (euro)¥: Currency symbol (yen)$: Currency symbol (dollar)': prefix or suffix, Used to quote special characters in a prefix or suffix, for example,' # '#formats123to"#123. To create a single quote itself, use two in a row:"# o''clock."". not localised
For date values
| Letter | Date or Time component | Presentation | Examples |
|---|---|---|---|
G | Era designator | text | AD |
y | Year | Year | 1996; 96 |
M | Month in year | Month | July; Jul; 07 |
w | Week in year | number | 27 |
W | Week in month | number | 2 |
D | Day in year | number | 189 |
d | Day in month | number | 10 |
F | Day of week in month | number | 2 |
E | Day in week | text | Tuesday; Tue |
a | Am/pm marker | text | PM |
H | Hour in day (0-23) | number | 0 |
h | Hour in day (1-24) | number | 24 |
K | Hour in am/pm (0-11) | number | 0 |
h | Hour in am/pm (1-12) | number | 12 |
m | Minute in hour | number | 30 |
s | Second in minute | number | 55 |
S | Millisecond | number | 978 |
z | Time zone | General time zone | Pacific Standard Time; PST; GMT-08:00 |
Z | Time zone | RFC 822 time zone | -0800 |
linkedContext
Type: String
This will create a reference from your field to another context. For example: If you've got a ORGANISATION_ID you may want to link to a context that contains organisations.
The reference is then used for example to create a link in the client to the given Context & Record ("the Organisation with ID xyz"). When a linkedContext is set, a matching ID to the data record needs to be returned by the value/valueProcess of this entityField. E.g., linkedContext = "Organisation" value = "UUID to the organisation record"
linkedContextProcess
Type: String
Basically the same as the linkedContext property that can be calculated dynamically with a process. This is useful if you've got a field that could
be linked to different contexts (in case A to a context "Organisation", in case B to a context "Person").
This will overwrite the linkedContext property; return a context name with result.string(...).
mandatory
Type: Boolean
Default: false
Indicates whether this field is mandatory and the value of this field must be set.
mandatoryProcess
Type: String
The return value (boolean) indicates whether this field is mandatory and the value of this field must be set.
This process overrides the value of mandatory.
maxValue
Type: Number
Requires: contentTypeProcess property group
The maximum value
maxValueProcess
Type: String
Requires: contentTypeProcess property group
The process for the maximum value
mentionFeeds
Type: String
Requires: contentTypeProcess property group
JSON structure, that determines the mentions shown in the CKEditor. Needs to return an array of JSON objects containing a feed of tags.
Limitations:
The String can not exceed 5,000,000 characters, because of performance limitations.
Example:
result.string(JSON.stringify([
{
marker: '@',
feed: [ '@Barney', '@Lily', '@Marry Ann', '@Marshall'],
minimumCharacters: 1
}
]));
See CKEditor Mentions Documentation for further information
minValue
Type: Number
Requires: contentTypeProcess property group
The minimum value
minValueProcess
Type: String
Requires: contentTypeProcess property group
The process for the minimum value
onValidation
Type: String
The onValidation is executed during loss of focus to check the input for validity.
Validations fails, if a message other than true is returned by result.string().
result.string("Any Message") or result.string(false) results in failing the validation check, thus displaying the message to the user, not accepting the input data and disabling the save button.
If result.string() is not called or result.string(true) is used, the system assumes a positive validation and accepts the input data.
This process has to be fast, due to being called multiple times by the system.
Do not use it to change the state of components!
onValueChange
Type: String
Process that is executed when the value of a field was changed. Will only trigger if the change was performed by a sources that is set in the onValueChangeTypes property.
onValueChangeTypes
Type: IValueModifier.EModifierType[]
Value Change Sources for onValueChange Process
Specifies which value change sources will trigger the onValueChange process.
The following source types are available:
PROCESS
Changes triggered by processes that return values in EntityFields (e.g., valueProcess)
PROCESS_SETVALUE
Changes made programmatically through methods like:
neon.setFieldValue(...)neon.setFieldValues(...)vars.set("$field...")
RECORD
Changes that occur when loading data from the RecordContainer (applies when loading and mapping record data to entity model fields)
MASK
Changes initiated through user interaction or system interfaces:
- Direct user input via the web client UI
- EntityAccess operations:
- EntityWebservice calls
writeEntityoperations (via JScriptEntities methods)
outputFormat
Type: String
Specifies the output format of the component.
The output can be formatted according to the type of the related database column, such as time and date values.
These can be set using a help editor.
<!--EOF-->
Please note that some of the example values are only applicable for specific types in contentType.
The available special characters are the following:
For text values
#: Any valid number, uses Character.isDigit.': Escape character, used to escape any of the special formatting characters.U: Any character (Character.isLetter). All lowercase letters are mapped to upper case.L: Any character (Character.isLetter). All upper case letters are mapped to lower case.A: Any character or number (Character.isLetter or Character.isDigit)?: Any character (Character.isLetter).*: Anything.H: Any hex character (0-9, a-f or A-F).
For number values
0: number, digit, localised#: number, Digit, zero shows as absent, localised.: number, Decimal separator or monetary decimal, localised-: number, Minus, localised,: number, Grouping separator, localisedE: number, Separates mantissa and exponent in scientific notation. Need not be quoted in prefix or suffix, localised;: Subpattern boundary, Separates positive and negative subpatterns, localised%: pos, Multiply by 100 and show as percentage, localised‰: pos, Multiply by 1000 and show as per mille, localised¤: pos, Currency sign, replaced by currency symbol. If doubled, replaced by international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator. not localised€: Currency symbol (euro)¥: Currency symbol (yen)$: Currency symbol (dollar)': prefix or suffix, Used to quote special characters in a prefix or suffix, for example,' # '#formats123to"#123. To create a single quote itself, use two in a row:"# o''clock."". not localised
For date values
| Letter | Date or Time component | Presentation | Examples |
|---|---|---|---|
G | Era designator | text | AD |
y | Year | Year | 1996; 96 |
M | Month in year | Month | July; Jul; 07 |
w | Week in year | number | 27 |
W | Week in month | number | 2 |
D | Day in year | number | 189 |
d | Day in month | number | 10 |
F | Day of week in month | number | 2 |
E | Day in week | text | Tuesday; Tue |
a | Am/pm marker | text | PM |
H | Hour in day (0-23) | number | 0 |
h | Hour in day (1-24) | number | 24 |
K | Hour in am/pm (0-11) | number | 0 |
h | Hour in am/pm (1-12) | number | 12 |
m | Minute in hour | number | 30 |
s | Second in minute | number | 55 |
S | Millisecond | number | 978 |
z | Time zone | General time zone | Pacific Standard Time; PST; GMT-08:00 |
Z | Time zone | RFC 822 time zone | -0800 |
placeholder
Type: String
Placeholder. Text that is displayed inline in a component
placeholderProcess
Type: String
Process for a placeholder, will replace the placeholder property.
preferredGroupOrder
Type: EFieldValue
This property defines the preferred order of the groups. If DISPLAYVALUE is selected, but not available, then VALUE is used.
resolution
Type: EDatetimeResolution
If a graphic formatting of the value is desired, this is specified here.
Currently, this setting can only be used for date values and time units.
selectionMode
Type: ESelectionMode
Determines how many elements may be selected. For example, select either none, one dataset or multiple datasets at a time.
Be aware that the concrete impact depends on the element where this property is set:
In a recordField for example the type of the component that is rendered within the client may change (Lookup-component <-> List-component) while in a consumerField the records that can be selected within a table-presentation of the data may be different.
selectionModeProcess
Type: String
A process that can determine the selectionMode dynamically. You have to return the corresponding selectionMode in the process with
result.string(...).
This will overwrite the value set in the selectionMode property.
state
Type: EComponentState
Determines the state of an element, for example: element can be edited, element is not visible, element is inactive, etc.
Be aware that the concrete impact depends on the element where this property is set:
If you take a look at the read-only-value for example:
- In a recordField this will affect only the field where the
stateproperty has been set. - In a consumerField all the recordFields within there will be readOnly, and you're not able to add, modify or delete records.
Note when the value AUTO is set, that the state does depend on different factors like "In which operatingstate is the record?".
stateProcess
Type: String
A process that can determine the state dynamically. You have to return the corresponding state in the process with result.string(...)
This will overwrite the value set in the state property.
Example:
result.string(count > 0 ? neon.COMPONENTSTATE_DISABLED : neon.COMPONENTSTATE_AUTO);
Note that this property may be internally overwritten (for example if the user has no grants).
textInputAllowed
Type: Boolean
Default: false
This property enables the functionality for the user to enter a own value
title
Type: String
Constraints: Verification: TITLE_LENGTH
Singular title of the model, e.g. Surname
titleProcess
Type: String
Process to determine the title dynamically. This will overwrite the value of the title property and is for example displayed in the views within the client.
tooltip
Type: String
Tooltip. Text that is displayed when the mouse is driven over a component.
tooltipProcess
Type: String
Process of tooltip labeling.
Here, each string can be returned by result.string(). control characters (e.g. \n) are evaluated to display new rows, for example.
HTML is not possible here.
If the component's content goes beyond the component, the first line of the ToolTip always displays the entire contents of the component.
This process overrides the toolTip property.
Error messages from this process do not arrive at the client, they are only visible in the server log.
usePermissions
Type: Boolean
Default: false
Determines if the element is relevant for the authorisation concept. For example: If this value is true the element can be selected for the grant configuration within the client
valueProcess
Type: String
The result of the process is written into the field. The process will not be executed when already the recordContainer has already set a value.
If you've got a separate displayValue, the valueProcess represents a technical value (like an ID).
Errors that occur in this process are not passed to the client. These can only be found in the server log / log files.
Error messages from this process do not arrive at the client, they are only visible in the server log.