Responsive Controls

#### Search Results

Search

# Responsive Controls

- BMOBILE:ALERT

- BMOBILE:BARTEXT

- BMOBILE:BUTTON

- BMOBILE:CHECKBOX

- BMOBILE:COMBOFIX

- BMOBILE:COMBOGROUP

- BMOBILE:COMBOOPTION

- BMOBILE:COMBODYN

- BMOBILE:DATEINPUT2

- BMOBILE:DROPDOWN

- BMOBILE:DROPDOWNLIST

- BMOBILE:DROPDOWNHEADER

- BMOBILE:DROPDOWNITEM

- BMOBILE:DROPDOWNSEPARATOR

- BMOBILE:FFIELD

- BMOBILE:FLABEL

- BMOBILE:FTEXT

- BMOBILE:FTEXTAREA

- BMOBILE:FTEXTOUT

- BMOBILE:GOOGLEMAP

- BMOBILE:ICON

- BMOBILE:IMAGEOUT

- BMOBILE:RADIOBUTTON

- BMOBILE:THEMESWITCH

- BMOBILE:TOGGLER

## BMOBILE:ALERT

This control is similar to the `STATUSBAR` control but more flexible. Use this control to show success or failure of an action.

#### Properties

Basic
typeprop | Name of the adapter parameter that provides as value the type of the alert message. The type defines the style in which the alert box is rendered. | Obligatory |
shorttextprop | Name of the adapter parameter that provides as value the message text that is visible inside the alert box. | Obligatory |
longtextprop | Name of the adapter parameter that provides as value the message text that is visible inside the alert box. | Optional |
duration | The duration of the animation in milliseconds. | Optional | 500 1000 2000 6000
onclosemethod | Name of the event that is sent to the adapter when the user closes the alert box. | Optional |
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:BARTEXT

Supports text like headlines in containers like the `BMOBILE:HORIZONTALBAR` and the `BMOBILE:SIDEBAR`.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Optional |
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Optional |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
styleclasses | CSS style classes separated by a blank. | Optional | lead h1 h2 h3 h4 h5 h6 font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter navbar-brand
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natstringtype | If the control shall be bound to a Natural system variable of string format with the attribute njx:natsysvar, this attribute indicates the format of the string, A (code page) or U (Unicode). The default is A. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:BUTTON

A responsive button.

#### Properties

Basic
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Optional |
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
type | The type of the button like reset or submit. | Optional | button submit file reset
renderaslink | If set to "TRUE" the control is rendered as a link. | Optional | true false
renderasicon | Set to TRUE if you specified an icon font without any text. This will render the button like an icon. The margin and padding is reduced and the font-size is adapted. | Optional | true false
renderasbadge | If set to "TRUE" the control is rendered as a badge. | Optional | true false
renderastoggler | If set to "TRUE" the control is rendered as toggler. | Optional | true false
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
Appearance
styleclasses | CSS style classes separated by a blank. | Optional | btn-default btn-primary btn-info btn-success btn-warning btn-danger btn-sm btn-lg btn-icon-sm btn-icon-lg btn-responsive btn-outline-primary btn-outline-info btn-outline-success btn-outline-warning btn-outline-danger close mx-auto
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
Binding
method | Name of the event that is sent to the adapter when the user presses the button. If no method is specified, a default event is sent. If the method starts with javascript: the corresponding javascript method is called. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:CHECKBOX

A responsive checkbox control.

#### Properties

Basic
valueprop | Name of the adapter parameter that represents the control in the adapter. | Obligatory |
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Optional |
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Appearance
displayonly | If set to true, the FIELD will not be accessible for input. It is just used as an output field. | Optional | true false
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
styleclasses | CSS style classes separated by a blank. | Optional | form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter
labelstyleclasses | CSS style classes separated by a blank. | Optional | form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
inline | Group controls on the same horizontal row. | Optional | true false
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
renderasswitch | If set to "TRUE" the control is rendered as a switch. | Optional | true false
Binding
valueprop | (already explained above) |  |
flush | Flushing behaviour of the input control. By default an input into the control is registered within the browser client - and communicated to the server adapter object when a user e.g. presses a button. By using the FLUSH property you can change this behaviour. Setting FLUSH to "server" means that directly after changing the input a synchronization with the server adapter is triggered. As consequence you directly can react inside your adapter logic onto the change of the corresponding value. - Please be aware of that during the synchronization always all changed properties - also the ones that were changed before - are transferred to the adapter object, not only the one that triggered the synchonization. Setting FLUSH to "screen" means that the changed value is populated inside the page. You use this option if you have redundant usage of the same property inside one page and if you want to pass one changed value to all its representation directly after changing the value. | Optional | screen server
flushmethod | When the data synchronization of the control is set to FLUSH="server" then you can specify an explicit event to be sent when the user updates the content of the control. By doing so you can distinguish on the server side from which control the flush of data was triggered. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
statusprop | Name of the adapter parameter that dynamically passes information how the control should be rendered and how it should act. Valid parameter values at runtime: "INVISIBLE", "FOCUS", "FOCUS_NO_SELECT", "ERROR", "ERROR_NO_FOCUS". In responsive controls additionally the values "WARNING" and "SUCCESS" are supported. The value "INVISIBLE" is only supported if the control does not support an INVISIBLEPROP. Use DISPLAYPROP or VISIBLEPROP if available to render the control displayonly/invisible/cleared. | Optional |
Bootstrap 5
statusmessage | Text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessageprop | Name of the adapter parameter that dynamically passes the text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime | Optional |
statusmessagemode | Default is showonerror. Set showalways if you want to show the status message always. | Optional | showalways showonerror
reverse | Put the control on the opposite side. | Optional | true false
renderasbutton | Render the checkbox as a toggle button. | Optional | true false
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Accessibility
titleaslabel | If set to TRUE then an aria-label attribute is added with the title value. Default is FALSE | Optional | true false
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:COMBOFIX

The `BMOBILE:COMBOFIX` control allows specifying a defined set of values which can be selected. This set of values is defined as part of the layout definition - it cannot be controlled dynamically by the application. Use the `BMOBILE:COMPOOPTION` control to define the selection values. Optionally you can group the selection values by the control `BMOBILE:COMBOGROUP`.

#### Properties

Basic
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
required | If set to true a value is required. | Optional | true false
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Appearance
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
combomode | Rendering mode of the control. "basic" is the default rendering style usually used in forms. "modern" has a slightly rendering style. Per default "basic" is used. | Optional | basic modern
datatype | By default, the control is managing its content as string. By explicitly setting a datatype you can define that the control will format the data coming from the server: if the field has datatype "date" and the user inputs "010304" then the input will be translated into "01.03.2004" (or other representation, dependent on date format settings). Please note: the datatype "float" is named a bit misleading - it represents any decimal format number. The server side representation may be a float value, but also can be a double or a BigDecimal property. | Optional | date float int long time timestamp color xs:decimal xs:double xs:date xs:dateTime xs:time ------------------------ N n.n P n.n string n L xs:boolean xs:byte xs:short
styleclasses | CSS style classes separated by a blank. | Optional | form-control-sm form-control-lg custom-select-sm custom-select-lg
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
size | Number of rows that are displayed inside the control. If specified as "1" (default) then the control is rendered as combo box - if ">1" then the control is rendered as multi line selection. | Optional | 1 2 3 int-value
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
placeholder | The text for the HTML placeholder attribute. The placeholder attribute specifies a short hint that describes the expected value. | Optional |
Binding
valueprop | (already explained above) |  |
flush | Flushing behaviour of the input control. By default an input into the control is registered within the browser client - and communicated to the server adapter object when a user e.g. presses a button. By using the FLUSH property you can change this behaviour. Setting FLUSH to "server" means that directly after changing the input a synchronization with the server adapter is triggered. As consequence you directly can react inside your adapter logic onto the change of the corresponding value. - Please be aware of that during the synchronization always all changed properties - also the ones that were changed before - are transferred to the adapter object, not only the one that triggered the synchonization. Setting FLUSH to "screen" means that the changed value is populated inside the page. You use this option if you have redundant usage of the same property inside one page and if you want to pass one changed value to all its representation directly after changing the value. | Optional | screen server
flushmethod | When the data synchronization of the control is set to FLUSH="server" then you can specify an explicit event to be sent when the user updates the content of the control. By doing so you can distinguish on the server side from which control the flush of data was triggered. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
statusprop | Name of the adapter parameter that dynamically passes information how the control should be rendered and how it should act. Valid parameter values at runtime: "INVISIBLE", "FOCUS", "FOCUS_NO_SELECT", "ERROR", "ERROR_NO_FOCUS". In responsive controls additionally the values "WARNING" and "SUCCESS" are supported. The value "INVISIBLE" is only supported if the control does not support an INVISIBLEPROP. Use DISPLAYPROP or VISIBLEPROP if available to render the control displayonly/invisible/cleared. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
Bootstrap 5
statusmessage | Text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessageprop | Name of the adapter parameter that dynamically passes the text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime | Optional |
statusmessagemode | Default is showonerror. Set showalways if you want to show the status message always. | Optional | showalways showonerror
floatinglabel | Text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelprop | Name of the adapter parameter that dynamically passes the text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelstyleclasses | CSS style classes separated by a blank. | Optional |
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Accessibility
titleaslabel | If set to TRUE then an aria-label attribute is added with the title value. Default is FALSE | Optional | true false
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:COMBOGROUP

See `BMOBILE:COMBOFIX` for the context of use of this control.

#### Properties

Basic
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Sometimes obligatory |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |

## BMOBILE:COMBOOPTION

See `BMOBILE:COMBOFIX` for the context of use of this control.

#### Properties

Basic
value | Actual value of the option that is passed into the adapter property specified by VALUEPROP inside the COMBOFIX control. | Obligatory |
name | Name that is displayed as selectable option. Either use the NAME property to specify the text in a "hard" way or use the TEXTID property to define the text in a language dependent way. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Sometimes obligatory |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |

## BMOBILE:COMBODYN

The `BMOBILE:COMBODYN` control is the dynamic counterpart of the `BMOBILE:COMBOFIX` control. Whereas the selection options inside the `BMOBILE:COMBOFIX` control are defined in a fixed way inside the page definition, the `BMOBILE:COMBODYN` control offers the possibility to control the selection options dynamically in the application.

#### Adapter Interface

For a `BMOBILE:COMBODYN` with `valueprop="selectedvalue"` and `validvaluesprop="theoptions"` the following is generated:

    1 SELECTEDVALUE (U) DYNAMIC
    1 THEOPTIONS (1:*)
    2 ID (U) DYNAMIC
    2 NAME (U) DYNAMIC

#### Properties

Basic
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
validvaluesprop | Name of the adapter parameter that provides the valid values that are available as selectable options. | Obligatory |
required | If set to true a value is required. | Optional | true false
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Appearance
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
combomode | Rendering mode of the control. "basic" is the default rendering style usually used in forms. "modern" has a slightly rendering style. Per default "basic" is used. | Optional | basic modern
styleclasses | CSS style classes separated by a blank. | Optional | form-control-sm form-control-lg custom-select-sm custom-select-lg
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
size | Number of rows that are displayed inside the control. If specified as "1" (default) then the control is rendered as combo box - if ">1" then the control is rendered as multi line selection. | Optional | 1 2 3 int-value
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
placeholder | The text for the HTML placeholder attribute. The placeholder attribute specifies a short hint that describes the expected value. | Optional |
Binding
valueprop | (already explained above) |  |
flush | Flushing behaviour of the input control. By default an input into the control is registered within the browser client - and communicated to the server adapter object when a user e.g. presses a button. By using the FLUSH property you can change this behaviour. Setting FLUSH to "server" means that directly after changing the input a synchronization with the server adapter is triggered. As consequence you directly can react inside your adapter logic onto the change of the corresponding value. - Please be aware of that during the synchronization always all changed properties - also the ones that were changed before - are transferred to the adapter object, not only the one that triggered the synchonization. Setting FLUSH to "screen" means that the changed value is populated inside the page. You use this option if you have redundant usage of the same property inside one page and if you want to pass one changed value to all its representation directly after changing the value. | Optional | screen server
flushmethod | When the data synchronization of the control is set to FLUSH="server" then you can specify an explicit event to be sent when the user updates the content of the control. By doing so you can distinguish on the server side from which control the flush of data was triggered. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
statusprop | Name of the adapter parameter that dynamically passes information how the control should be rendered and how it should act. Valid parameter values at runtime: "INVISIBLE", "FOCUS", "FOCUS_NO_SELECT", "ERROR", "ERROR_NO_FOCUS". In responsive controls additionally the values "WARNING" and "SUCCESS" are supported. The value "INVISIBLE" is only supported if the control does not support an INVISIBLEPROP. Use DISPLAYPROP or VISIBLEPROP if available to render the control displayonly/invisible/cleared. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
Bootstrap 5
statusmessage | Text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessageprop | Name of the adapter parameter that dynamically passes the text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime | Optional |
statusmessagemode | Default is showonerror. Set showalways if you want to show the status message always. | Optional | showalways showonerror
floatinglabel | Text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelprop | Name of the adapter parameter that dynamically passes the text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelstyleclasses | CSS style classes separated by a blank. | Optional |
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Accessibility
titleaslabel | If set to TRUE then an aria-label attribute is added with the title value. Default is FALSE | Optional | true false
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:DATEINPUT2

A responsive form of the DATEINPUT2 control.

The following topics are covered below:

- Customizing Date and Calendar Formats

- Properties

### Customizing Date and Calendar Formats

Default behavior for the date and calendar formats:

- Date format in browser:
  Per default the dates are shown in the browser according to the Natural DTFORM parameter.

- Date format in Natural program:
  Depending on the `datatype` property the Natural type D or an (A/U) DYNAMIC type is used. For the latter the format on the server is YYYYMMDD.

- Calendar format:
  The first day in week of the calendar is per default Sunday and can be customized per application and per single page at runtime by using the NJX:SESSIONPARAMS control

Some use cases require the formats to be customized independently of the central Natural format at design time and in a more flexible way. This is supported by the properties `clientformat`, `severformat`, and `firstdayinweek`. If these properties are set in a control, they will overwrite the default behavior. For the `clientformat` and the `serverformat` property a subset of the Natural date edit masks is supported:

Character | Usage
--- | ---
DD | Day
ZD | Day with zero supression
MM | Month
ZM | Month with zero supression
YYYY | Year, 4 digits
YY | Year, 2 digits

### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
datatype | By default, the DATEINPUT control is managing a day. By explicitly setting a datatype you can define that the control is managing a day and time. In the first use type CDATE within your adapter program - in the second case use type CTIMESTAMP. | Optional | date datetime ------------------------ xs:date xs:dateTime
serverformat | For alphanumeric datatypes you can choose the format of the date at design time. Examples: YYYY-MM-DD, DD.MM.YY, YY/MM/DD. A subset of the Natural date edit masks is supported. The serverforma is the format in which the data is sent to Natural. | Optional | YYYY-MM-DD DD/MM/YYYY MM-DD-YY
clientformat | You can choose the format of the date in the browser at design time. Examples: YYYY-MM-DD, DD.MM.YY, YY/MM/DD. A subset of the Natural date edit masks is supported. If set the Natural DTFORM parameter will not be used. This setting is only for the rendering in the client. It is independent of the set datatype. | Optional | YYYY-MM-DD DD/MM/YYYY MM-DD-YY
firstdayinweek | You can set the first day in week at design time. Valid values are SU - for Sunday - and MO - for Monday. If set the value set by the NJX:SESSIONPARAMS control will not be used. | Optional | SU MO
required | If set to true a value is required. | Optional | true false
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
Binding
valueprop | (already explained above) |  |
fromprop | Name of the adapter parameter that provides a lower limit for the value of the control. The value is used for client side validation of user input. | Optional |
toprop | Name of the adapter parameter that provides an upper limit for the value of the control. The value is used for client side validation of user input. | Optional |
statusprop | Name of the adapter parameter that dynamically passes information how the control should be rendered and how it should act. Valid parameter values at runtime: "INVISIBLE", "FOCUS", "FOCUS_NO_SELECT", "ERROR", "ERROR_NO_FOCUS". In responsive controls additionally the values "WARNING" and "SUCCESS" are supported. The value "INVISIBLE" is only supported if the control does not support an INVISIBLEPROP. Use DISPLAYPROP or VISIBLEPROP if available to render the control displayonly/invisible/cleared. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
flush | Flushing behaviour of the input control. By default an input into the control is registered within the browser client - and communicated to the server adapter object when a user e.g. presses a button. By using the FLUSH property you can change this behaviour. Setting FLUSH to "server" means that directly after changing the input a synchronization with the server adapter is triggered. As consequence you directly can react inside your adapter logic onto the change of the corresponding value. - Please be aware of that during the synchronization always all changed properties - also the ones that were changed before - are transferred to the adapter object, not only the one that triggered the synchonization. Setting FLUSH to "screen" means that the changed value is populated inside the page. You use this option if you have redundant usage of the same property inside one page and if you want to pass one changed value to all its representation directly after changing the value. | Optional | screen server
flushmethod | When the data synchronization of the control is set to FLUSH="server" then you can specify an explicit event to be sent when the user updates the content of the control. By doing so you can distinguish on the server side from which control the flush of data was triggered. | Optional |
holidaysurlprop | Name of the Adapter paramter which provides the URL for a json file with custom holidays dynamically at runtime. | Optional |
Bootstrap 5
statusmessage | Text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessageprop | Name of the adapter parameter that dynamically passes the text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime | Optional |
statusmessagemode | Default is showonerror. Set showalways if you want to show the status message always. | Optional | showalways showonerror
Appearance
displayonly | If set to true, the FIELD will not be accessible for input. It is just used as an output field. | Optional | true false
styleclasses | CSS style classes separated by a blank. | Optional | form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
numberofmonths | Number of months shown for selection. Default is 1 | Optional |
popuponalt40 | Value help in a field is triggered either by clicking with the mouse or by pressing a certain key inside the field. The "traditional" keys are "cursor-down", "F7" or "F4". Sometimes you do not want to mix other "cursor-down" behaviour (e.g. scrolling in lists) with the value help behaviour. In this case switch this property to "true" - and the value help will only come up anymore when "alt-cursor-down" is pressed. | Optional | true false
popuponF4F7 | Per default the calendar is opened on F4 and F7. Set this property to false if you want to use F4 or F7 for other purpose. | Optional | true false
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
popupicon | URL of image that is displayed inside the right corner of the field to indicate to the user that there is some value help available.. Any image type (.gif, .jpg, ...) that your browser does understand is valid. Use the following options to specify the URL: (A) Define the URL relative to your page. Your page is generated directly into your project's folder. specifying "images/xyz.gif" will point into a directory parallel to your page. Specifying "../HTMLBasedGUI/images/new.gif" will point to an image of a neighbour project. (B) Define a complete URL, like "http://www.softwareag.com/images/logo.gif". | Optional | gif jpg jpeg
placeholder | The text for the HTML placeholder attribute. The placeholder attribute specifies a short hint that describes the expected value. | Optional |
holidaysurl | URL for json file, which contains custom holidays. | Optional |
holidaysstyleclass | Name of the css style class, which is used for the rendering of custom holidays. Default is DATEINPUT2Holidays | Optional |
holidaysdescriptionastooltip | Set this property to true if you want to show descriptions in the json file as tool tips. | Optional | true false
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Accessibility
titleaslabel | If set to TRUE then an aria-label attribute is added with the title value. Default is FALSE | Optional | true false
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:DROPDOWN

The control `BMOBILE:DROPDOWN` renders a dropdown button. Add the dropdown content, i.e. the content you want to show, when the button is clicked, as sub controls of the `BMOBILE:DROPDOWN`. Use the `BMOBILE:DROPDOWNITEM` to render leight-weight dropdown menus. You can also add a `BMOBILE:FORM` as dropdown content. This can be used for instance to implement a multiselect dropdown with `BMOBILE:CHECKBOX` controls. Examples are available in the NaturalAjaxDemos. Use the `BMOBILE:DROPDOWNHEADER` and the `BMOBILE:DROPDOWNSEPARATOR` to apply structure to your dropdown content. Use the `BMOBILE:DROPDOWNLIST` to apply drop down items dynamically from your Natural program at runtime.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Sometimes obligatory |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Sometimes obligatory |
Appearance
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
styleclasses | CSS style classes separated by a blank. | Optional | ml-* mr-* mx-* mx-sm-* mx-md-* mx-lg-* mx-xl-*
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
dropdownmode | Set this if you want to expand the menu upwards or if you want to position the menu to the right or to the left. Supported values are dropdown, dropup, dropleft, dropright. The default is dropdown. | Optional | dropdown dropright dropleft dropup
buttonclasses | CSS style classes separated by a blank for rendering the dropdown button in the control. | Optional | btn-default btn-primary btn-info btn-success btn-warning btn-danger btn-sm btn-lg btn-icon-sm btn-icon-lg btn-responsive btn-outline-primary btn-outline-info btn-outline-success btn-outline-warning btn-outline-danger close mx-auto
buttonstyle | CSS style definition for rendering the dropdown button in control. | Optional |
renderasicon | Set to TRUE if you specified an icon font without any text. This will render the button like an icon. The margin and padding is reduced and the font-size is adapted. | Optional | true false
menuclasses | CSS style classes separated by a blank for rendering the dropdown menu. | Optional | dropdown-menu-right dropdown-menu-sm-right dropdown-menu-md-right dropdown-menu-lg-right dropdown-menu-left dropdown-menu-sm-left dropdown-menu-md-left dropdown-menu-lg-left
Binding
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:DROPDOWNLIST

See `BMOBILE:DROPDOWN` (above) for the context of use of this control.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
styleclasses | CSS style classes separated by a blank. | Optional | bg-light ml-* mr-* mx-* mx-sm-* mx-md-* mx-lg-* mx-xl-* mt-* mb-* my-* border border-primary border border-secondary border border-dark border border-light
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
withicon | If set to true, an additional ICON field is generated in the Natural data structure. In this field the html of an icon font can be provided. The icon is rendered left of the item text. | Optional | true false
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natstringtype | If the control shall be bound to a Natural system variable of string format with the attribute njx:natsysvar, this attribute indicates the format of the string, A (code page) or U (Unicode). The default is A. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |

## BMOBILE:DROPDOWNHEADER

See `BMOBILE:DROPDOWN` for the context of use of this control.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Sometimes obligatory |
Appearance
styleclasses | CSS style classes separated by a blank. | Optional | d-none d-md-block d-none d-lg-block text-uppercase font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter text-center text-right text-left text-truncate
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
Binding
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |

## BMOBILE:DROPDOWNITEM

See `BMOBILE:DROPDOWN` for the context of use of this control.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Sometimes obligatory |
icon | Html of an icon font. If specified then the icon is rendered left of the item text. | Optional |
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
Appearance
styleclasses | CSS style classes separated by a blank. | Optional | font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter text-lowercase text-uppercase text-danger text-info text-primary text-secondary text-success text-warning
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
Binding
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
iconprop | Name of the adapter parameter that dynamically passes the html of an icon font. If specified the icon is rendered left of the item text. | Optional |
inactiveprop | Name of the adapter parameter that dynamically passes information if the item should be inactive. | Optional |
method | Name of the event that is sent to the adapter when clicking on the control. | Optional |

## BMOBILE:DROPDOWNSEPARATOR

See `BMOBILE:DROPDOWN` for the context of use of this control.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Appearance
styleclasses | CSS style classes separated by a blank. | Optional | mt-1 mt-2 mt-3 mt-4 mt-5 mt-sm-* mt-md-* mt-lg-* mt-xl-*
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |

## BMOBILE:FFIELD

A responsive form of the `FIELD` control.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
password | If set to "true", each entered character is displayed as a '*'. | Optional | true false
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
Appearance
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
styleclasses | CSS style classes separated by a blank. | Optional | form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
placeholder | The text for the HTML placeholder attribute. The placeholder attribute specifies a short hint that describes the expected value. | Optional |
maxlength | Maximum number of characters that a user may enter. This property is not depending on the LENGTH property - please do not get confused by the similar naming. MAXLENGTH has nothing to do with the optical sizing of the control but only with the number of characters you may input. | Optional | 5 10 15 20 int-value
autotab | If set to true, an automatic tab is executed for fields with a specified MAXLENGTH when the maxlength value is reached. For fields without a MAXLENGTH specified it has no effect. Default is true. | Optional | true false
uppercase | If "true" then all input is automatically transferred to upper case characters. | Optional | true false
shownull | If set to FALSE numeric field are shown as empty if the value is 0 or 0.0 | Optional | true false
formautocomplete | This property only has effects if the withformtag property in the PAGEBODY is activated. In this case you can switch on and off the browser's autocomplete behavior for HTML form tags in single FIELD controls. Default is TRUE. | Optional | true false
email | If set to true E-Mail validation is done by the browser. | Optional | true false
displayonly | If set to true, the FIELD will not be accessible for input. It is just used as an output field. | Optional | true false
invisiblemode | If the visibility of the control is determined dynamically by an adapter property then there are two rendering modes if the visibility is "false": (1) "invisible": the control is not visible. (2)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
datatype | By default, the FIELD control is managing its content as string. By explicitly setting a datatype you can define that the control... ...will check the user input if it reflects the datatype. E.g. if the user inputs "abc" into a field with datatype "int" then a corresponding error message will popup when the user leaves the field. ...will format the data coming from the server or coming form the user input: if the field has datatype "date" and the user inputs "010304" then the input will be translated into "01.03.2004" (or other representation, dependent on date format settings). In addition value popups are offered for the user automatically for some datatypes: e.g. when specifying datatype "date" the automatically the field provides a calendar input popup. Please note: the datatype "float" is named a bit misleading - it represents any decimal format number. The server side representation may be a float value, but also can be a double or a BigDecimal property. | Optional | date float int long time timestamp color xs:decimal xs:double xs:date xs:dateTime xs:time ------------------------ N n.n P n.n string n L xs:boolean xs:byte xs:short
editmask | NATPAGE only: A subset of the Natural edit masks is supported depending on the data type. | Optional |
required | If set to true a value is required. | Optional | true false
validation | The HTML validation attribute for input controls. | Optional | [a-zA-Z0-9_.-] {1,}\\@[a-zA-Z0-9_.-] {1,}\\.\\w{2,}\\d{5} [0-9 )(-/+]+
validationmessage | The message which is shown when the validation is not successful. | Optional |
validationmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Optional |
withtogglepassword | If set to TRUE a small toggle button is shown which allows to show the password in clear text and hide it again. | Optional | true false
Binding
hotkeys | Semicolon separated list of hot keys. A hotkey consists of a list of keys and a method name. Separate the keys by "-" and the method name again with a semicolon Example: ctrl-alt-65;onCtrlAltA;13;onEnter ...defines two hot keys. Method onCtrlAltA is invoked if the user presses Ctrl-Alt-A. Method "onEnter" is called if the user presses the ENTER key. Use the popup help within the Layout Painter to input hot keys. | Optional |
alwaysflush | If set to TRUE then a specified server flushmethod is also called in case the value has not changed. The default is FALSE, meaning that a server flushmethod is only called for a changed value. | Optional | true false
flush | Flushing behaviour of the input control. By default an input into the control is registered within the browser client - and communicated to the server adapter object when a user e.g. presses a button. By using the FLUSH property you can change this behaviour. Setting FLUSH to "server" means that directly after changing the input a synchronization with the server adapter is triggered. As consequence you directly can react inside your adapter logic onto the change of the corresponding value. - Please be aware of that during the synchronization always all changed properties - also the ones that were changed before - are transferred to the adapter object, not only the one that triggered the synchonization. Setting FLUSH to "screen" means that the changed value is populated inside the page. You use this option if you have redundant usage of the same property inside one page and if you want to pass one changed value to all its representation directly after changing the value. | Optional | screen server
flushmethod | When the data synchronization of the control is set to FLUSH="server" then you can specify an explicit event to be sent when the user updates the content of the control. By doing so you can distinguish on the server side from which control the flush of data was triggered. | Optional |
flushindexprop | Name of a changeindexprop property of another control. On flush='screen" the value of the specified property is automatically increased so that the controls is automatically refreshed. This property is ignored for flush="server" | Optional |
contextmenu | If set to TRUE for a field myfield, method/event reactOnContextMenuMyfield will be called/triggered on right mouse click. In this method/event you can set a contextmenu correspondingly. Please use the attribute CONTEXTMENUMETHOD in case you would like to use a different method/eventname. In case a valid value is specified for the CONTEXTMENUMETHOD attribute, the value for the CONTEXTMENU attribute is ignored. Default value is FALSE. | Optional | true false
contextmenumethod | Name of the event that is sent to the adapter when the user presses the right mouse button in an empty area. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
statusprop | Name of the adapter parameter that dynamically passes information how the control should be rendered and how it should act. Valid parameter values at runtime: "INVISIBLE", "FOCUS", "FOCUS_NO_SELECT", "ERROR", "ERROR_NO_FOCUS". In responsive controls additionally the values "WARNING" and "SUCCESS" are supported. The value "INVISIBLE" is only supported if the control does not support an INVISIBLEPROP. Use DISPLAYPROP or VISIBLEPROP if available to render the control displayonly/invisible/cleared. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
Bootstrap 5
statusmessage | Text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessageprop | Name of the adapter parameter that dynamically passes the text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime | Optional |
statusmessagemode | Default is showonerror. Set showalways if you want to show the status message always. | Optional | showalways showonerror
floatinglabel | Text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelprop | Name of the adapter parameter that dynamically passes the text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelstyleclasses | CSS style classes separated by a blank. | Optional |
Add-ons
autocompleteref | Adds autocomplete functionality to the FIELD control. As value set the id of the AUTOCOMPLETE control. | Optional |
autocompletedisplayname | Name of the value to be displayed in an additional control. | Optional |
autocompletedisplayref | Sets a reference to an additional control to display additional information on selection. As value set the valueprop of the control in which you would like to display the information. | Optional |
autocompleteresultsref | Sets a reference to an additional control to display the total number of results. Use this when the number of matching items can be very high and you limited the number of displayed items in the dropdown for performance reasons. As value set the valueprop of the control in which you would like to display the total number. | Optional |
autocompletewithdropdown | If set to "TRUE" a dropdown button/icon will be appended to the field. When it is clicked, all items are shown. | Optional | true false
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natstringtype | If the control shall be bound to a Natural system variable of string format with the attribute njx:natsysvar, this attribute indicates the format of the string, A (code page) or U (Unicode). The default is A. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Accessibility
titleaslabel | If set to TRUE then an aria-label attribute is added with the title value. Default is FALSE | Optional | true false
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:FLABEL

A responsive form of the LABEL control.

#### Properties

Basic
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Sometimes obligatory |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Sometimes obligatory |
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Appearance
invisiblemode | If the visibility of the control is determined dynamically by an adapter property then there are two rendering modes if the visibility is "false": (1) "invisible": the control is not visible. (2)"cleared": the control is not visible but it still occupies space. | Optional | invisible cleared
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
styleclasses | CSS style classes separated by a blank. | Optional | col-* col-sm-* col-md-* col-lg-* col-xl-* form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter text-info sr-only text-primary text-secondary text-success text-warning
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
Binding
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:FTEXT

Bootstrap 5 required.

A new form of text control to show additional information as small text field for a form field. This text can be underneath (stacked) or besides (inline) the form field.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
styleclasses | CSS style classes separated by a blank. | Optional | col-* col-sm-* col-md-* col-lg-* col-xl-* form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter text-info sr-only text-primary text-secondary text-success text-warning
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Optional |
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
inline | Group controls on the same horizontal row. | Optional | true false
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible cleared
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:FTEXTAREA

A responsive form of the TEXTAREA control.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
rows | Height of control specified by number of rows. Either define the height by the HEIGHT property or by the ROWS property. Do not specify both! When specifying the height by ROWS then be aware of that the height depends from the font size used inside the control (that is defined in the styles sheet definition). | Optional | 1 2 3 int-value
cols | Width of control specified by number of characters. Either define the width by the WIDTH property or by the COLS property. Do not specify both! When specifying the width by COLS then be aware of that the width depends from the font size used inside the control (that is defined in the styles sheet definition). | Optional | 1 2 3 int-value
styleclasses | CSS style classes separated by a blank. | Optional | col-* col-sm-* col-md-* col-lg-* col-xl-* form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter text-info sr-only text-primary text-secondary text-success text-warning
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
placeholder | The text for the HTML placeholder attribute. The placeholder attribute specifies a short hint that describes the expected value. | Optional |
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
datatype | By default, the FIELD control is managing its content as string. By explicitly setting a datatype you can define that the control... ...will check the user input if it reflects the datatype. E.g. if the user inputs "abc" into a field with datatype "int" then a corresponding error message will popup when the user leaves the field. ...will format the data coming from the server or coming form the user input: if the field has datatype "date" and the user inputs "010304" then the input will be translated into "01.03.2004" (or other representation, dependent on date format settings). In addition value popups are offered for the user automatically for some datatypes: e.g. when specifying datatype "date" the automatically the field provides a calendar input popup. Please note: the datatype "float" is named a bit misleading - it represents any decimal format number. The server side representation may be a float value, but also can be a double or a BigDecimal property. | Optional | string n xs:string
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
maxlength | Maximum number of characters that a user may enter. This property is not depending on the LENGTH property - please do not get confused by the similar naming. MAXLENGTH has nothing to do with the optical sizing of the control but only with the number of characters you may input. | Optional | 5 10 15 20 int-value
displayonly | If set to true, the FIELD will not be accessible for input. It is just used as an output field. | Optional | true false
hotkeys | Semicolon separated list of hot keys. A hotkey consists of a list of keys and a method name. Separate the keys by "-" and the method name again with a semicolon Example: ctrl-alt-65;onCtrlAltA;13;onEnter ...defines two hot keys. Method onCtrlAltA is invoked if the user presses Ctrl-Alt-A. Method "onEnter" is called if the user presses the ENTER key. Use the popup help within the Layout Painter to input hot keys. | Optional |
required | If set to true a value is required. | Optional | true false
wrap | Specifies the line wrapping inside the control. By default a line that exceeds the width of the control is broken automatically. You may define this property to not wrap at all ("off") - in this case the text control offers horizontal scroll bars to scroll the text. There are two styles of wrapping "soft" and "hard". The difference between "soft" and "hard" is the way the text is - if changed by the user - passed back to the adapter property: when specifying "soft" then line breaks which are caused by wrapping are not sent to the server, when specifying "hard" then line breaks caused by wrapping are sent as carriage return/ line feed. - Be careful when specifying "hard" as consequence! The wrap attribute is not part of the HTML standard. It depends on the browser if wrap=hard/soft are supported. | Optional |
Binding
valueprop | (already explained above) |  |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
statusprop | Name of the adapter parameter that dynamically passes information how the control should be rendered and how it should act. Valid parameter values at runtime: "INVISIBLE", "FOCUS", "FOCUS_NO_SELECT", "ERROR", "ERROR_NO_FOCUS". In responsive controls additionally the values "WARNING" and "SUCCESS" are supported. The value "INVISIBLE" is only supported if the control does not support an INVISIBLEPROP. Use DISPLAYPROP or VISIBLEPROP if available to render the control displayonly/invisible/cleared. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
flush | Flushing behaviour of the input control. By default an input into the control is registered within the browser client - and communicated to the server adapter object when a user e.g. presses a button. By using the FLUSH property you can change this behaviour. Setting FLUSH to "server" means that directly after changing the input a synchronization with the server adapter is triggered. As consequence you directly can react inside your adapter logic onto the change of the corresponding value. - Please be aware of that during the synchronization always all changed properties - also the ones that were changed before - are transferred to the adapter object, not only the one that triggered the synchonization. Setting FLUSH to "screen" means that the changed value is populated inside the page. You use this option if you have redundant usage of the same property inside one page and if you want to pass one changed value to all its representation directly after changing the value. | Optional | screen server
flushmethod | When the data synchronization of the control is set to FLUSH="server" then you can specify an explicit event to be sent when the user updates the content of the control. By doing so you can distinguish on the server side from which control the flush of data was triggered. | Optional |
Bootstrap 5
statusmessage | Text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessageprop | Name of the adapter parameter that dynamically passes the text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime | Optional |
statusmessagemode | Default is showonerror. Set showalways if you want to show the status message always. | Optional | showalways showonerror
floatinglabel | Text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelprop | Name of the adapter parameter that dynamically passes the text that float over the input control when typing or clicking in the control. | Optional |
floatinglabelstyleclasses | CSS style classes separated by a blank. | Optional |
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natstringtype | If the control shall be bound to a Natural system variable of string format with the attribute njx:natsysvar, this attribute indicates the format of the string, A (code page) or U (Unicode). The default is A. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Accessibility
titleaslabel | If set to TRUE then an aria-label attribute is added with the title value. Default is FALSE | Optional | true false
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:FTEXTOUT

Supports plain read-only text in forms.

#### Properties

Basic
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
datatype | By default, the FIELD control is managing its content as string. By explicitly setting a datatype you can define that the control... ...will check the user input if it reflects the datatype. E.g. if the user inputs "abc" into a field with datatype "int" then a corresponding error message will popup when the user leaves the field. ...will format the data coming from the server or coming form the user input: if the field has datatype "date" and the user inputs "010304" then the input will be translated into "01.03.2004" (or other representation, dependent on date format settings). In addition value popups are offered for the user automatically for some datatypes: e.g. when specifying datatype "date" the automatically the field provides a calendar input popup. Please note: the datatype "float" is named a bit misleading - it represents any decimal format number. The server side representation may be a float value, but also can be a double or a BigDecimal property. | Optional | date float int long time timestamp color xs:decimal xs:double xs:date xs:dateTime xs:time ------------------------ N n.n P n.n string n L xs:boolean xs:byte xs:short
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible cleared
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
styleclasses | CSS style classes separated by a blank. | Optional | col-* col-sm-* col-md-* col-lg-* col-xl-* form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter text-info sr-only text-primary text-secondary text-success text-warning
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natsysvar | If the control shall be bound to a Natural system variable, this attribute specifies the name of the system variable. | Optional |
njx:natsysio | If the control shall be bound to a Natural system variable with the attribute njx:natsysvar, this attribute indicates if the system variable is modifiable. The default is false. | Optional |
njx:natstringtype | If the control shall be bound to a Natural system variable of string format with the attribute njx:natsysvar, this attribute indicates the format of the string, A (code page) or U (Unicode). The default is A. | Optional |
njx:natcv | Name of a Natural control variable that shall be assigned to the control. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Accessibility
titleaslabel | If set to TRUE then an aria-label attribute is added with the title value. Default is FALSE | Optional | true false
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:GOOGLEMAP

A responsive Google map control.

#### Properties

Basic
apikeypagename | Name of the Maps API Key page. Example: mygooglemapsapikey.html. Keep this file within the project directory (directory within the CIS HTML pages are kept). The GOOGLEMAP-control expects this file within certain Javascript includes and content. Have look into chapter "Google Map - Before You Start" within the Developers Guide | Optional |
styleclasses | CSS style classes separated by a blank. | Optional |
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Appearance
mapmode | Lets you toggle between map types (e.g., Map and Satellite) | Optional | 1 2
controltype | Lets you toggle between a small and large pan/zoom control | Optional | small large

## BMOBILE:ICON

A responsive form of the `ICON` control.

#### Properties

Basic
iconurl | URL of image that is displayed inside the control. Any image type (.gif, .jpg, ...) that your browser does understand is valid. Use the following options to specify the URL: (A) Define the URL relative to your page. Your page is generated directly into your project's folder. specifying "images/xyz.gif" will point into a directory parallel to your page. Specifying "../HTMLBasedGUI/images/new.gif" will point to an image of a neighbour project. (B) Define a complete URL, like "http://www.softwareag.com/images/logo.gif". | Optional |
iconurlprop | Name of adapter parameter that provides as value the URL of the image that is shown inside the control. | Optional |
method | Name of the event that is sent to the adapter when clicking on the control. | Optional |
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titletextid | Text ID that is passed to the multi language management - representing the tooltip text that is used for the control. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
popovertextid | If specified a popover with the corresponding multilanguage text will be opened when the icon is activated. | Optional |
styleclasses | CSS style classes separated by a blank. | Optional | baricon baricon-svg icon-svg-primary
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natstringtype | If the control shall be bound to a Natural system variable of string format with the attribute njx:natsysvar, this attribute indicates the format of the string, A (code page) or U (Unicode). The default is A. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:IMAGEOUT

A responsive image control.

#### Properties

Basic
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
width | Width of the control. There are three possibilities to define the width: (A) You do not define a width at all. In this case the width of the control will either be a default width or - in case of container controls - it will follow the width that is occupied by its content. (B) Pixel sizing: just input a number value (e.g. "100"). (C) Percentage sizing: input a percentage value (e.g. "50%"). Pay attention: percentage sizing will only bring up correct results if the parent element of the control properly defines a width this control can reference. If you specify this control to have a width of 50% then the parent element (e.g. an ITR-row) may itself define a width of "100%". If the parent element does not specify a width then the rendering result may not represent what you expect. | Optional | 100 120 140 160 180 200 50% 100%
height | Height of the control. There are three possibilities to define the height: (A) You do not define a height at all. As consequence the control will be rendered with its default height. If the control is a container control (containing) other controls then the height of the control will follow the height of its content. (B) Pixel sizing: just input a number value (e.g. "20"). (C) Percentage sizing: input a percentage value (e.g. "50%"). Pay attention: percentage sizing will only bring up correct results if the parent element of the control properly defines a height this control can reference. If you specify this control to have a height of 50% then the parent element (e.g. an ITR-row) may itself define a height of "100%". If the parent element does not specify a width then the rendering result may not represent what you expect. | Optional | 100 150 200 250 300 250 400 50% 100%
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
styleclasses | CSS style classes separated by a blank. | Optional | img-circle img-rounded img-thumbnail
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natstringtype | If the control shall be bound to a Natural system variable of string format with the attribute njx:natsysvar, this attribute indicates the format of the string, A (code page) or U (Unicode). The default is A. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:RADIOBUTTON

A responsive radio button control.

#### Properties

Basic
valueprop | Name of the adapter parameter that provides the content of the control. | Obligatory |
value | Value that represents this instance of the RADIOBUTTON control. The value is set into the adapter property that is defined by the VALUEPROP property when the user clicks onto the control. - Vice versa: the control is switched to "marked" when the adapter property holds the value defined. | Optional |
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Optional |
helpid | Help id that is passed to the online help management in case the user presses F1 on the control. | Optional |
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
Appearance
styleclasses | CSS style classes separated by a blank. | Optional | form-control-sm form-control-lg font-italic font-weight-bold font-weight-bolder font-weight-light font-weight-lighter
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
inline | Group controls on the same horizontal row. | Optional | true false
displayonly | If set to true, the FIELD will not be accessible for input. It is just used as an output field. | Optional | true false
invisiblemode | This property has three possible values: (1) "invisible": the control is not visible without occupying any space. (2) "disabled": the control is deactivated: it is "grayed" and does not show any roll over effects any more. (3)"cleared": the control is not visible but it still occupies space. | Optional | invisible disabled cleared
datatype | By default, the control is managing its content as string. By explicitly setting a datatype you can define that the control will format the data coming from the server: if the field has datatype "date" and the user inputs "010304" then the input will be translated into "01.03.2004" (or other representation, dependent on date format settings). Please note: the datatype "float" is named a bit misleading - it represents any decimal format number. The server side representation may be a float value, but also can be a double or a BigDecimal property. | Optional | xs:string ------------------------ N n.n P n.n string n
straighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
Binding
valueprop | (already explained above) |  |
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
visibleprop | Name of the adapter parameter that provides the information if this control is displayed or not. As consequence you can control the visibility of the control dynamically. | Optional |
statusprop | Name of the adapter parameter that dynamically passes information how the control should be rendered and how it should act. Valid parameter values at runtime: "INVISIBLE", "FOCUS", "FOCUS_NO_SELECT", "ERROR", "ERROR_NO_FOCUS". In responsive controls additionally the values "WARNING" and "SUCCESS" are supported. The value "INVISIBLE" is only supported if the control does not support an INVISIBLEPROP. Use DISPLAYPROP or VISIBLEPROP if available to render the control displayonly/invisible/cleared. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
flush | Flushing behaviour of the input control. By default an input into the control is registered within the browser client - and communicated to the server adapter object when a user e.g. presses a button. By using the FLUSH property you can change this behaviour. Setting FLUSH to "server" means that directly after changing the input a synchronization with the server adapter is triggered. As consequence you directly can react inside your adapter logic onto the change of the corresponding value. - Please be aware of that during the synchronization always all changed properties - also the ones that were changed before - are transferred to the adapter object, not only the one that triggered the synchonization. Setting FLUSH to "screen" means that the changed value is populated inside the page. You use this option if you have redundant usage of the same property inside one page and if you want to pass one changed value to all its representation directly after changing the value. | Optional | screen server
flushmethod | When the data synchronization of the control is set to FLUSH="server" then you can specify an explicit event to be sent when the user updates the content of the control. By doing so you can distinguish on the server side from which control the flush of data was triggered. | Optional |
Bootstrap 5
statusmessage | Text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessageprop | Name of the adapter parameter that dynamically passes the text to be shown based on the current value of the statusprop. Also the rendering of the text is adapted to the statusprop value. | Optional |
statusmessagetextid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime | Optional |
statusmessagemode | Default is showonerror. Set showalways if you want to show the status message always. | Optional | showalways showonerror
reverse | Put the control on the opposite side. | Optional | true false
Natural
njx:natname | If a Natural variable with a name not valid for Application Designer (for instance #FIELD1) shall be bound to the control, a different name (for instance HFIELD1) can be bound instead. If the original name (in this case #FIELD1) is then specified in this attribute, the original name is generated into the parameter data area of the Natural adapter and a mapping between the two names is generated into the PROCESS PAGE statement of the Natural adapter. This mapping must not break a once defined group structure. If for instance a grid control that is bound to a name of GRID1 contains fields that are bound to FIELD1 and FIELD2 respectively, the corresponding njx:natname values may be #GRID1.#FIELD1 and #GRID1.#FIELD2, but not #GRID1.#FIELD1 and #MYGRID1.#FIELD2. | Optional |
njx:natcomment | The value of this attribute is generated as comment line into the parameter data area of the Natural adapter, before the field name. The Map Converter, for instance, uses this attributes to indicate a generated statusprop variable to which field the statusprop belongs. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:THEMESWITCH

Bootstrap 5 required.

A switch that you can add to your page to allow your end-users to switch between "dark" and "light" mode for the CSS theme. This setting applies to all Bootstrap 5 pages of your application. The choice is remembered also after closing the application. Clearing your browser cache will reset to the default. The default is "light".

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
styleclasses | CSS style classes separated by a blank. | Optional |
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
name | Text that is displayed inside the control. Please do not specify the name when using the multi language management - but specify a "textid" instead. | Optional |
textid | Multi language dependent text that is displayed inside the control. The "textid" is translated into a corresponding string at runtime. Do not specify a "name" inside the control if specifying a "textid". | Optional |
nameprop | Name of adapter parameter which dynamically provides the text that is shown inside the control. | Optional |
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

## BMOBILE:TOGGLER

A toggle button you can use in bars to toggle the visibility of containers like the `BMOBILE:SIDEBAR`, the `BMOBILE:OFFCANVAS`, the `BMOBILE:INTMODAL` and the `BMOBILE:MODAL`.

#### Properties

Basic
comment | Comment without any effect on rendering and behaviour. The comment is shown in the layout editor's tree view. | Optional |
title | Text that is shown as tooltip for the control. Either specify the text "hard" by using this TITLE property - or use the TITLETEXTID in order to define a language dependent literal. | Optional |
titleprop | Name of the adapter parameter that dynamically defines the title of the control. The title is displayed as tool tip when ther user moves the mouse onto the control. | Optional |
titlestraighttext | If the text of the control contains HTML tags then these are by default interpreted by the browser. specifying STRAIGHTTEXT as "true" means that the browser will directly render the characters without HTML interpretation. Example: if you want to output the source of an HTML text then STRAIGHTTEXT should be set to "true". | Optional | true false
toggleref | The value of the toggleid property of the control for which visibility should be toggled. | Optional |
toggletype | The type of the control for which visibility should be toggled. Per default this is a SIDEBAR or a NAVBAR. Set the value to offcanvas if you want to toggle an OFFCANVAS control. Set the value to modal if you want to toggle a MODAL or INTMODAL. | Optional | collapse offcanvas modal
style | CSS style definition that is directly passed into this control. With the style you can individually influence the rendering of the control. You can specify any style sheet expressions. Examples are: border: 1px solid #FF0000 background-color: #808080 You can combine expressions by appending and separating them with a semicolon. Sometimes it is useful to have a look into the generated HTML code in order to know where direct style definitions are applied. Press right mouse-button in your browser and select the "View source" or "View frame's source" function. | Optional |
styleclasses | CSS style classes separated by a blank. | Optional |
Miscellaneous
testtoolid | Use this attribute to assign a fixed control identifier that can be later on used within your test tool in order to do the object identification | Optional |

### On this page

- BMOBILE:ALERT
- BMOBILE:BARTEXT
- BMOBILE:BUTTON
- BMOBILE:CHECKBOX
- BMOBILE:COMBOFIX
- BMOBILE:COMBOGROUP
- BMOBILE:COMBOOPTION
- BMOBILE:COMBODYN
- BMOBILE:DATEINPUT2
- BMOBILE:DROPDOWN
- BMOBILE:DROPDOWNLIST
- BMOBILE:DROPDOWNHEADER
- BMOBILE:DROPDOWNITEM
- BMOBILE:DROPDOWNSEPARATOR
- BMOBILE:FFIELD
- BMOBILE:FLABEL
- BMOBILE:FTEXT
- BMOBILE:FTEXTAREA
- BMOBILE:FTEXTOUT
- BMOBILE:GOOGLEMAP
- BMOBILE:ICON
- BMOBILE:IMAGEOUT
- BMOBILE:RADIOBUTTON
- BMOBILE:THEMESWITCH
- BMOBILE:TOGGLER