Combo box with value state
The combo box can show different value states.
Z2UI5_CL_SMPC_APP_616
Controls
sap.m
UI5 1.78
The facts
- Repository
- abap2UI5/samples-controls
- Class
Z2UI5_CL_SMPC_APP_616- Source file
z2ui5_cl_smpc_app_616.clas.abap↗- Library
- sap.m
- UI5 entity
sap.m.ComboBox- Demo kit sample
sap.m.sample.ComboBoxValueState- SAP's own sample
- running at sdk.openui5.org ↗
- Minimum UI5
- 1.78
- In the playground
- runs in the browser, with no system and nothing installed
Keywords: combobox, combo, box, sap.m, comboboxvaluestate, verticallayout, listitem, formattedtext, link
Controls it builds
- sap.m.ComboBox
- sap.m.FormattedText
- sap.m.Label
- sap.m.Link
- sap.m.Page
- sap.ui.core.ListItem
- sap.ui.core.mvc.View
- sap.ui.layout.VerticalLayout
Read out of the builder chain by the abap2UI5 linter, not from the category this sample is filed under — which is what makes “which samples build one of these” a question the catalogue can answer at all.
Libraries
Run it here
The sample running, in this page — the app on its own, with no editor over it.
Switch to Playground with this code
Nothing is installed and nothing is sent anywhere: the ABAP is compiled to JavaScript in this browser and runs against abap2UI5 itself.
The ABAP
z2ui5_cl_smpc_app_616.clas.abap — 268 lines
Click a number to link to a line — shift-click for a range.
Read it on GitHub ↗
" @keywords combobox combo box sap.m comboboxvaluestate verticallayout listitem formattedtext link
" @summary The combo box can show different value states.
CLASS z2ui5_cl_smpc_app_616 DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
TYPES: BEGIN OF ty_s_country,
key TYPE string,
text TYPE string,
END OF ty_s_country.
TYPES ty_t_country TYPE STANDARD TABLE OF ty_s_country WITH EMPTY KEY.
DATA t_countries TYPE ty_t_country.
PROTECTED SECTION.
DATA client TYPE REF TO z2ui5_if_client.
METHODS view_display.
METHODS model_init.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_smpc_app_616 IMPLEMENTATION.
METHOD z2ui5_if_app~main.
me->client = client.
IF client->check_on_init( ).
model_init( ).
view_display( ).
ELSEIF client->check_on_navigated( ).
view_display( ).
ENDIF.
ENDMETHOD.
METHOD view_display.
DATA(view) = z2ui5_cl_ui5_view_builder=>factory( ).
DATA(layout) = view->ele( n = `View` ns = `mvc`
)->a( n = `height` v = `100%`
)->a( n = `xmlns` v = `sap.m`
)->a( n = `xmlns:core` v = `sap.ui.core`
)->a( n = `xmlns:l` v = `sap.ui.layout`
)->a( n = `xmlns:mvc` v = `sap.ui.core.mvc`
)->ele( `Page`
)->a( n = `showHeader` v = `false`
)->a( n = `class` v = `sapUiContentPadding`
)->ele( `content`
)->ele( n = `VerticalLayout` ns = `l` ).
layout->tag( `Label`
)->a( n = `text` v = `ComboBox in a Success state`
)->a( n = `labelFor` v = `idComboBoxSuccess`
" the items binding is declared SUSPENDED and resumed by loadItems; the
" backend already holds the rows, so the port binds them outright
)->ele( `ComboBox`
)->a( n = `class` v = `sapUiSmallMarginBottom`
)->a( n = `id` v = `idComboBoxSuccess`
)->a( n = `valueState` v = `Success`
)->a( n = `items` v = client->_bind( t_countries )
)->ele( `items`
)->tag( n = `ListItem` ns = `core`
)->a( n = `key` v = `{KEY}`
)->a( n = `text` v = `{TEXT}`
)->end(
)->end( ).
layout->tag( `Label`
)->a( n = `text` v = `ComboBox in an Information state`
)->a( n = `labelFor` v = `idComboBoxInformation`
)->ele( `ComboBox`
)->a( n = `class` v = `sapUiSmallMarginBottom`
)->a( n = `id` v = `idComboBoxInformation`
)->a( n = `valueState` v = `Information`
)->a( n = `items` v = client->_bind( t_countries )
)->ele( `items`
)->tag( n = `ListItem` ns = `core`
)->a( n = `key` v = `{KEY}`
)->a( n = `text` v = `{TEXT}`
)->end(
)->end( ).
layout->tag( `Label`
)->a( n = `text` v = `Information state message with a link.`
)->a( n = `labelFor` v = `idComboBoxInformationWithLink`
)->ele( `ComboBox`
)->a( n = `class` v = `sapUiSmallMarginBottom`
)->a( n = `id` v = `idComboBoxInformationWithLink`
)->a( n = `valueState` v = `Information`
)->a( n = `valueStateText` v = `Warning message. Extra long text used as a warning message. Extra long text used as a warning message - 2. Extra long text used as a warning message - 3.`
)->a( n = `items` v = client->_bind( t_countries )
)->ele( `items`
)->tag( n = `ListItem` ns = `core`
)->a( n = `key` v = `{KEY}`
)->a( n = `text` v = `{TEXT}`
)->end(
)->ele( `formattedValueStateText`
)->ele( `FormattedText`
)->a( n = `htmlText` v = `Warning message. Long text used as a warning message with a %%0.`
)->ele( `controls`
)->tag( `Link`
)->a( n = `text` v = `link`
)->a( n = `href` v = ``
)->a( n = `press` v = client->follow_up_action( val = client->cs_event-control_global
t_arg = VALUE #( ( `MESSAGE_TOAST` ) ( `show` ) ( `Link in value state pressed` ) ) )
)->end(
)->end(
)->end(
)->end( ).
layout->tag( `Label`
)->a( n = `text` v = `ComboBox in a Warning state`
)->a( n = `labelFor` v = `idComboBoxWarning`
)->ele( `ComboBox`
)->a( n = `class` v = `sapUiSmallMarginBottom`
)->a( n = `id` v = `idComboBoxWarning`
)->a( n = `valueState` v = `Warning`
)->a( n = `valueStateText` v = `Warning message. Extra long text used as a warning message. Extra long text used as a warning message - 2. Extra long text used as a warning message - 3.`
)->a( n = `items` v = client->_bind( t_countries )
)->ele( `items`
)->tag( n = `ListItem` ns = `core`
)->a( n = `key` v = `{KEY}`
)->a( n = `text` v = `{TEXT}`
)->end(
)->end( ).
layout->tag( `Label`
)->a( n = `text` v = `Warning state with multiple links.`
)->a( n = `labelFor` v = `idComboBoxWarningWithLinks`
)->ele( `ComboBox`
)->a( n = `class` v = `sapUiSmallMarginBottom`
)->a( n = `id` v = `idComboBoxWarningWithLinks`
)->a( n = `valueState` v = `Warning`
)->a( n = `items` v = client->_bind( t_countries )
)->ele( `items`
)->tag( n = `ListItem` ns = `core`
)->a( n = `key` v = `{KEY}`
)->a( n = `text` v = `{TEXT}`
)->end(
)->ele( `formattedValueStateText`
)->ele( `FormattedText`
)->a( n = `htmlText` v = `Error message. Long text used as an error message with %%0 %%1.`
)->ele( `controls`
)->tag( `Link`
)->a( n = `text` v = `multiple`
)->a( n = `href` v = ``
)->a( n = `press` v = client->follow_up_action( val = client->cs_event-control_global
t_arg = VALUE #( ( `MESSAGE_TOAST` ) ( `show` ) ( `Link in value state pressed` ) ) )
)->tag( `Link`
)->a( n = `text` v = `links`
)->a( n = `href` v = ``
)->a( n = `press` v = client->follow_up_action( val = client->cs_event-control_global
t_arg = VALUE #( ( `MESSAGE_TOAST` ) ( `show` ) ( `Link in value state pressed` ) ) )
)->end(
)->end(
)->end(
)->end( ).
layout->tag( `Label`
)->a( n = `text` v = `ComboBox in an Error state`
)->a( n = `labelFor` v = `idComboBoxError`
)->ele( `ComboBox`
)->a( n = `class` v = `sapUiSmallMarginBottom`
)->a( n = `id` v = `idComboBoxError`
)->a( n = `valueState` v = `Error`
)->a( n = `items` v = client->_bind( t_countries )
)->ele( `items`
)->tag( n = `ListItem` ns = `core`
)->a( n = `key` v = `{KEY}`
)->a( n = `text` v = `{TEXT}`
)->end(
)->end( ).
client->view_display( view->stringify( ) ).
ENDMETHOD.
METHOD model_init.
" sap/ui/demo/mock/countriesExtendedCollection.json /CountriesCollection,
" seeded verbatim; the binding's sorter on text is applied to the data the
" backend sends (app 298 idiom)
t_countries = VALUE #(
( key = `DZ` text = `Algeria` )
( key = `AR` text = `Argentina` )
( key = `AU` text = `Australia` )
( key = `AT` text = `Austria` )
( key = `BH` text = `Bahrain` )
( key = `BE` text = `Belgium` )
( key = `BA` text = `Bosnia and Herzegovina` )
( key = `BR` text = `Brazil` )
( key = `BG` text = `Bulgaria` )
( key = `CA` text = `Canada` )
( key = `CL` text = `Chile` )
( key = `CO` text = `Colombia` )
( key = `HR` text = `Croatia` )
( key = `CU` text = `Cuba` )
( key = `CZ` text = `Czech Republic` )
( key = `DK` text = `Denmark` )
( key = `EG` text = `Egypt` )
( key = `EE` text = `Estonia` )
( key = `FI` text = `Finland` )
( key = `FR` text = `France` )
( key = `GER` text = `Germany` )
( key = `GH` text = `Ghana` )
( key = `GR` text = `Greece` )
( key = `HU` text = `Hungary` )
( key = `IN` text = `India` )
( key = `ID` text = `Indonesia` )
( key = `IE` text = `Ireland` )
( key = `IL` text = `Israel` )
( key = `IT` text = `Italy` )
( key = `JP` text = `Japan` )
( key = `JO` text = `Jordan` )
( key = `KE` text = `Kenya` )
( key = `KW` text = `Kuwait` )
( key = `LV` text = `Latvia` )
( key = `LT` text = `Lithuania` )
( key = `MK` text = `Macedonia` )
( key = `MY` text = `Malaysia` )
( key = `MX` text = `Mexico` )
( key = `ME` text = `Montenegro` )
( key = `MA` text = `Morocco` )
( key = `NL` text = `Netherlands` )
( key = `NZ` text = `New Zealand` )
( key = `NG` text = `Nigeria` )
( key = `NO` text = `Norway` )
( key = `OM` text = `Oman` )
( key = `PE` text = `Peru` )
( key = `PH` text = `Philippines` )
( key = `PL` text = `Poland` )
( key = `PT` text = `Portugal` )
( key = `QA` text = `Qatar` )
( key = `RO` text = `Romania` )
( key = `RU` text = `Russia` )
( key = `SA` text = `Saudi Arabia` )
( key = `SN` text = `Senegal` )
( key = `RS` text = `Serbia` )
( key = `SG` text = `Singapore` )
( key = `SK` text = `Slovakia` )
( key = `SI` text = `Slovenia` )
( key = `ZA` text = `South Africa` )
( key = `KR` text = `South Korea` )
( key = `ES` text = `Spain` )
( key = `SE` text = `Sweden` )
( key = `CH` text = `Switzerland` )
( key = `TN` text = `Tunisia` )
( key = `TR` text = `Turkey` )
( key = `UG` text = `Uganda` )
( key = `UA` text = `Ukraine` )
( key = `AE` text = `United Arab Emirates` )
( key = `GB` text = `United Kingdom` )
( key = `YE` text = `Yemen` )
).
SORT t_countries BY text AS TEXT ASCENDING.
ENDMETHOD.
ENDCLASS.
More in sap.m
- Single Planning Calendar - Create and Modify Appointments — This sample demonstrates how the SinglePlanningCalendar control can be used in combinatio…
- Single Planning Calendar with Drag and Drop — SinglePlanningCalendar with enabled drag and drop functionality, allowing to create appoi…
- MultiInput Filtering and Suggestions — The default filtering is 'starts with per term', which filters by the beginning of every…
- MultiInput - Grouping of items — Items in the MultiInput could be grouped by a property
- Object Header Responsive III — This is a responsive Object Header with a Title, number, 6 Statuses/Attributes rendered i…
- Object Header Responsive IV — This is a responsive Object Header with a Title, number, 6 Statuses/Attributes rendered i…
- Icon Tab Bar - Background Design — In this example the backgroundDesign and headerBackgroundDesign properties are demonstrat…
- Icon Tab Bar - Process — In this example, the Icon Tab Bar is used to apply filters on the same content along a bu…
- Icon Tab Bar - Responsive Padding — This example demonstrates the Icon Tab Bar's support for paddings that depend on the widt…
- Icon Tab Bar - Tab Density Mode — In this example, the Icon Tab Bar is used in different tab density modes.
- Input - Assisted Tabular Suggestions — In this example assisted input is provided with table-like suggestions where several colu…
- Input - Checked — Input checks are handled via the validation of the data binding. In this example there ar…
On this page