UI Element - TextField
Related subfolder of the training project: "Training/UIM/Exercise/Basic"
Chapter Overview
In this training chapter you get familiar with the configuration possibilities of the UI Element TextField.

TAB "Element Properties"
The TAB "Element Properties" contains the configuration for
-
UI element value horizontal text alignment (left, center, right)
-
UI element width configuration (percentage, pixel)
-
UI element height configuration (pixel)
-
UI container horizontal alignment (left, center, right)
-
Show internal label (checked, unchecked)
-
Show clear button (checked, unchecked)

TAB "Data Mapping"
The TAB "Data Mapping" contains the attribute type related mapping of the UI element
-
string
-
string format
-
float
-
float currency
-
float percentage
-
integer

TAB "Data Validation"
The TAB "Data Validation" contains the attribute type related validation, default value and mandatory specification of the UI element based on the BO attribute configuration in SubTAB "Values and Validation".
-
string length range
-
string fixed length
-
string default value
-
string regular expression
-
integer out of range
-
float mandatory
-
float range
-
float value
TAB "Events"The TAB "Events" contains the events and related "Action" and "Validation" scripts of the UI element. -
onClick
-
onDoubleClick
-
onBlur
-
onChange
-
onKeyUpFor each UI element the related event action is displayed at the right side of the UI element. In case of a validation error a default error message is displayed at the top right of the UI page and the action script is not executed.
TAB "Visibility"The TAB "Visibility" contains the visibility configuration and the "Visibility" scripts of the UI element. -
editable/readonly
-
visible/invisible
-
mandatoryFor each UI element the visibility can be changed by the checkbox "Visibility Toggle".

Exercise
In this exercise you will get familiar with the configuration possibilities of the UI element by completing the UI TABs as described above. You can test the implementation in UIM Preview, in the Preview of the Frontend Service Model and optionally in the xAPPnow User Portal.
Exercise 1: Create UI Page "TextField"
-
Step 1: Open context menu of folder "Automation/User Interface/Training/UIM/Exercise/Basic" in the model tree
-
Step 2: Select menu function "Create Model" to open dialog "Create User Interface Model"
-
Step 3: Enter model name "TextField" and keep default options for "Default Device", "Default Label" and option "Model Type: UI Page"
-
Step 4: Select option "From: UI Page" to open dialog "Select UI Page"
-
Step 5: Open folder "…/Training/UIM/Template/Basic" to select template "TMPL_TextField" with double click
-
Step 6: Click button "OK" to create the UI page

Exercise 2: TAB "Element Properties"
-
Step 1: Drag&Drop attribute "bicycle.color" from TAB "Data" into second free span and keep default in dialog "Select Component" to add the corresponding External UI Label and UI TextField to the UI page.
-
Step 2: Repeat Step 1 and add Label and TextField for attribute "bicycle.color" to
-
H-Aligment [Center], [Right]
-
UI-Element Width [50%], [100px]
-
UI-Element Height [50px], [100px]
-
Container H-Aligment [Left], [Center], [Right]
-
Show Internal Label [Unchecked], [Checked]
-
Show Clear Button [Unchecked], [Checked]
-
Step 3: Select each UI TextField and right click to open context menu, click on button "H-Alignment" to configure the values [Left], [Center], [Right]
-
Step 4: In next row select the UI TextField to configure width [50%] and width [100px]
-
Step 5: Select each UI Textfield to configure height [50px] and height [100px]
-
Step 6: In row "Container (H-Alignment)" for each UI TextField:
-
Select each UI TextField to configure width [50%].
-
Select container to configure H-Alignment [Left], [Center], [Right] of the UI element
-
Step 7: In row "Show Internal Label" for second UI TextField:
-
Remove label "Color"
b. Select UI TextField and select "Show Internal Label"
REMARK: Another possibility to define the Internal Label is when doing drag&drop from TAB "Data". You should select "Internal" instead the default value "External"

-
Step 8: In section "Clear Button" for second UI TextField select "Clear Button"
Exercise 3: TAB "Data Mapping"
-
Step 1: Drag&Drop attribute "stockitem.name" from TAB "Data" into second free span and keep default in dialog "Select Component" to add the corresponding UI Label and UI TextField to the UI page.
-
Step 2: Repeat Step 1 to add Label and TextField for attributes
-
"stockitem.creditCard"
-
"stockitem.amount"
-
"stockitem.price"
-
"stockitem.discount"
-
"stockitem.quantity"
Exercise 4: TAB "Data Validation"
-
Step 1: Drag&Drop attribute "person.name" from TAB "Data" into the third free span of second row and keep default in dialog "Select Component" to add the corresponding UI Label and UI TextField to the UI page.
-
Step 2: Repeat Step 1 and add Label and TextField for attributes
-
"person.address"
-
"person.familyName"
-
"person.email"
-
"person.age"
-
"person.height"
-
"person.overWeight"
-
"person.salary"
Exercise 5: TAB "Events" - Action Scripts
-
Step 1: Drag&Drop attribute "bus.number" from TAB "Data" into second free span and keep default in dialog "Select Component" to add the corresponding UI Label and UI TextField to the UI page.
-
Step 2: Repeat Step 1 to add Label and TextField for attributes
-
"bus.origin"
-
"bus.destination"
-
"bus.seat"
-
"bus.driver"
-
Step 3: Select the first UI TextField and open TAB "Implementation" SubTab "Events" to specify event type "onClick"
-
Step 4: Implement the action script, which displays the related event action at the right side of the UI element.
localData.eventType.onClick = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_CLICK;
-
Step 5: Repeat Step 3 and 4 for the other UI elements to specify further event types and related action scripts, which display the related event action at the right side of the UI element.
-
event type "onDoubleClick"
localData.eventType.onDoubleClick = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_DOUBLE_CLICK;
-
event type "onBlur"
localData.eventType.onBlur = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_BLUR;
-
event type "onChange"
localData.eventType.onChange = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_CHANGE;
-
event type "onKeyUp"
localData.eventType.onKeyUp = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_KEY_UP;
Exercise 6: TAB "Events" - Action & Validation Scripts
-
Step 1: Select the UI TextField with placeholder "...and click here." and open TAB "Implementation" SubTab "Events" to specify event type "onClick"
-
Step 2: Implement the action the validation scripts, which display the related event action at the right side of the UI element in case of no validation error.
-
action script "onClick" event
localData.eventType.onClickValid = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_CLICK_VALID;
-
validation script "onClick" event
localData.issue.id > 5;
-
Step 3: Repeat Step 1 and 2 for the other UI elements to specify further event types and related action and validation scripts, which display the related event action at the right side of the UI element.
-
action script
-
"onDoubleClick" event
localData.eventType.onDoubleClickValid = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_DOUBLE_CLICK_VALID;
-
"onBlur" event
localData.eventType.onBlurValid = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_BLUR_VALID;
-
"onChange" event
localData.eventType.onChangeValid = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_CHANGE_VALID;
-
"onKeyUp" event
localData.eventType.onKeyUpValid = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_KEY_UP_VALID;
-
validation script
-
"onDoubleClick" event
localData.issue.issueName === "NO ERROR";
-
"onBlur" event
localData.issue.progress > 15;
-
"onChange" event
localData.issue.description === "Description";
-
"onKeyUp" event
localData.issue.sprint === "1";
Exercise 7: TAB "Events" - Action & Condition Scripts
-
Step 1: Select the UI TextField with placeholder "...and click here." and open TAB "Implementation" SubTab "Events" to specify event type "onClick"
-
Step 2: Implement the action the validation scripts, which display the related event action at the right side of the UI element in case of no validation error.
-
action script "onClick" event
localData.eventType.onClickCondition = globalDef.enums.Tutorial.UIM.DEF.EventMessage.ON_CLICK_CONDITION;
-
condition script "onClick" event
localData.issue.asignee == "Jonas"
Exercise 8: TAB "Visibility"
-
Step 1: Drag&Drop attribute "toggleVisibility" from TAB "Data" into the third free span of third row and keep default in dialog "Select Component" to add the corresponding UI Label and UI CheckBox to the UI page.
-
Step 2: Select the first UI TextField and open TAB "Implementation" SubTab "Visibility"
-
Step 3: Click at visibility type "Editable" and select state "Script"
-
Step 4: Implement the visibility script, which toggles the visibility "editable" and "readonly"
localData.toggleVisibility;
-
Step 5: Repeat steps 2..4 for second and third UI TextField for visibility type "Visible", and "Mandatory"
Exercise 9: Set UI Page as submodel of the Frontend Service Model
-
Step 1: Open frontend service model "Automation/Service/Training/UIM/Exercise/Basic/TextField"
-
Step 2: Select UI page "View TextField" to open TAB "General", SubTAB "Element"
-
Step 3: Click button “Search“ to open dialog "Select or Create Submodel" and select UI page "TextField" with double click

-
Step 4: Right click on button flow to set label with "Exit" flow.

Exercise 10: Test the UI Page
-
Step 1: Open UI Page and click button "Preview" in the toolbar to directly test the UI page within the UI editor
REMARK: To see the placeholders in textfields you should remove the default values. This should be done to execute the Events correctly
-
Step 2: Optionally publish the frontend service model and test the UI page in User Portal




































