Shell Bar with Split App
Example of Shell Bar in combination with Split App.
Z2UI5_CL_SMPC_APP_585
Controls
sap.f
UI5 1.121
The facts
- Repository
- abap2UI5/samples-controls
- Class
Z2UI5_CL_SMPC_APP_585- Source file
z2ui5_cl_smpc_app_585.clas.abap↗- Library
- sap.f
- UI5 entity
sap.f.ShellBar- Demo kit sample
sap.f.sample.ShellBarWithSplitApp- SAP's own sample
- running at sdk.openui5.org ↗
- Minimum UI5
- 1.121
- In the playground
- runs in the browser, with no system and nothing installed
Keywords: shellbar, shell, bar, sap.f, shellbarwithsplitapp, toolpage, menu, menuitem, avatar, searchmanager, sidenavigation, navcontainer
Controls it builds
- sap.f.SearchManager
- sap.f.ShellBar
- sap.m.Avatar
- sap.m.Menu
- sap.m.MenuItem
- sap.m.NavContainer
- sap.m.ScrollContainer
- sap.m.Text
- sap.tnt.NavigationList
- sap.tnt.NavigationListItem
- sap.tnt.SideNavigation
- sap.tnt.ToolPage
- sap.ui.core.mvc.View
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_585.clas.abap — 375 lines
Click a number to link to a line — shift-click for a range.
Read it on GitHub ↗
" @keywords shellbar shell bar sap.f shellbarwithsplitapp toolpage menu menuitem avatar searchmanager sidenavigation navcontainer
" @summary Example of Shell Bar in combination with Split App.
CLASS z2ui5_cl_smpc_app_585 DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
" the navigation model: one row per NavigationListItem, its children in a
" nested table, exactly as model.json nests them
TYPES: BEGIN OF ty_s_child,
title TYPE string,
key TYPE string,
enabled TYPE abap_bool,
END OF ty_s_child.
TYPES ty_t_child TYPE STANDARD TABLE OF ty_s_child WITH EMPTY KEY.
TYPES: BEGIN OF ty_s_nav,
title TYPE string,
icon TYPE string,
key TYPE string,
enabled TYPE abap_bool,
expanded TYPE abap_bool,
t_items TYPE ty_t_child,
END OF ty_s_nav.
TYPES ty_t_nav TYPE STANDARD TABLE OF ty_s_nav WITH EMPTY KEY.
DATA t_navigation TYPE ty_t_nav.
DATA t_fixed_navigation TYPE ty_t_nav.
DATA selected_key TYPE string VALUE `page2`.
DATA side_expanded TYPE abap_bool VALUE abap_true.
DATA page2_text TYPE string.
PROTECTED SECTION.
DATA client TYPE REF TO z2ui5_if_client.
METHODS view_display.
METHODS on_event.
METHODS nav_list IMPORTING node TYPE REF TO z2ui5_cl_ui5_view_builder
items TYPE string.
METHODS model_init.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_smpc_app_585 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( ).
ELSEIF client->check_on_event( ).
on_event( ).
ENDIF.
ENDMETHOD.
METHOD view_display.
DATA(view) = z2ui5_cl_ui5_view_builder=>factory( ).
DATA(tool_page) = view->ele( n = `View` ns = `mvc`
)->a( n = `height` v = `100%`
)->a( n = `xmlns` v = `sap.m`
)->a( n = `xmlns:f` v = `sap.f`
)->a( n = `xmlns:core` v = `sap.ui.core`
)->a( n = `xmlns:mvc` v = `sap.ui.core.mvc`
)->a( n = `xmlns:tnt` v = `sap.tnt`
)->ele( n = `ToolPage` ns = `tnt`
)->a( n = `id` v = `toolPage`
" onMenuButtonPress toggles sideExpanded; the property is bindable
)->a( n = `sideExpanded` v = client->_bind( side_expanded ) ).
tool_page->ele( n = `header` ns = `tnt`
)->ele( n = `ShellBar` ns = `f`
)->a( n = `title` v = `Application Title`
)->a( n = `secondTitle` v = `Short description`
)->a( n = `showMenuButton` v = `true`
)->a( n = `homeIcon` v = `https://sdk.openui5.org/resources/sap/ui/documentation/sdk/images/logo_sap.png`
)->a( n = `showCopilot` v = `true`
)->a( n = `showNotifications` v = `true`
)->a( n = `notificationsNumber` v = `2`
)->a( n = `menuButtonPressed` v = client->_event( `MENU_BUTTON` )
)->ele( n = `menu` ns = `f`
)->ele( `Menu`
)->tag( `MenuItem`
)->a( n = `text` v = `Flight booking`
)->a( n = `icon` v = `sap-icon://flight`
)->tag( `MenuItem`
)->a( n = `text` v = `Car rental`
)->a( n = `icon` v = `sap-icon://car-rental`
)->end(
)->end(
)->ele( n = `profile` ns = `f`
)->tag( `Avatar`
)->a( n = `initials` v = `UI`
)->end(
)->ele( n = `searchManager` ns = `f`
)->tag( n = `SearchManager` ns = `f`
)->end(
)->end(
)->end( ).
" SideNavigation.fragment.xml
DATA(side) = tool_page->ele( n = `sideContent` ns = `tnt`
)->ele( n = `SideNavigation` ns = `tnt`
)->a( n = `expanded` v = `true`
)->a( n = `selectedKey` v = client->_bind( selected_key )
)->a( n = `itemSelect` v = client->_event( val = `ITEM_SELECT` arg = `${$parameters>/item}.getKey()` ) ).
nav_list( node = side items = client->_bind( t_navigation ) ).
DATA(fixed) = side->ele( n = `fixedItem` ns = `tnt` ).
nav_list( node = fixed items = client->_bind( t_fixed_navigation ) ).
DATA(pages) = tool_page->ele( n = `mainContents` ns = `tnt`
)->ele( `NavContainer`
)->a( n = `id` v = `pageContainer`
)->a( n = `initialPage` v = `page2`
)->ele( `pages` ).
pages->ele( `ScrollContainer`
)->a( n = `id` v = `root1`
)->a( n = `horizontal` v = `false`
)->a( n = `vertical` v = `true`
)->a( n = `height` v = `100%`
)->tag( `Text`
)->a( n = `text` v = `This is the root page`
)->end(
)->ele( `ScrollContainer`
)->a( n = `id` v = `page1`
)->a( n = `horizontal` v = `false`
)->a( n = `vertical` v = `true`
)->a( n = `height` v = `100%`
)->tag( `Text`
)->a( n = `text` v = `This is the first page`
)->end(
)->ele( `ScrollContainer`
)->a( n = `id` v = `page2`
)->a( n = `horizontal` v = `false`
)->a( n = `vertical` v = `true`
)->a( n = `height` v = `100%`
)->tag( `Text`
)->a( n = `text` v = client->_bind( page2_text )
)->end(
)->ele( `ScrollContainer`
)->a( n = `id` v = `root2`
)->a( n = `horizontal` v = `false`
)->a( n = `vertical` v = `true`
)->a( n = `height` v = `100%`
)->tag( `Text`
)->a( n = `text` v = `This is the root page of the second element`
)->end( ).
client->view_display( view->stringify( ) ).
" The NavContainer's position is live control state: view_display( )
" destroys the MAIN slot and XMLView.create builds a fresh tree, so
" pageContainer comes back on its initialPage="page2" - while selected_key
" is bound class state that survives, and the SideNavigation then
" highlights root2 over a page2 the user never navigated back to.
" Re-issuing the SAME key the ITEM_SELECT branch last sent is the app-000
" idiom. Guarded twice: an untouched key (nothing selected yet) and the key
" the initialPage already shows both need no action at all
IF selected_key IS NOT INITIAL AND selected_key <> `page2`.
client->follow_up_action( val = client->cs_event-control_by_id
t_arg = VALUE #( ( `pageContainer` ) ( `to` ) ( selected_key ) ) ).
ENDIF.
ENDMETHOD.
METHOD nav_list.
" NavigationList.fragment.xml - one template, used for both lists
node->ele( n = `NavigationList` ns = `tnt`
)->a( n = `items` v = items
)->ele( n = `NavigationListItem` ns = `tnt`
)->a( n = `text` v = `{TITLE}`
)->a( n = `icon` v = `{ICON}`
)->a( n = `enabled` v = `{ENABLED}`
)->a( n = `expanded` v = `{EXPANDED}`
)->a( n = `key` v = `{KEY}`
)->a( n = `items` v = `{T_ITEMS}`
)->tag( n = `NavigationListItem` ns = `tnt`
)->a( n = `text` v = `{TITLE}`
)->a( n = `key` v = `{KEY}`
)->a( n = `enabled` v = `{ENABLED}`
)->end(
)->end( ).
ENDMETHOD.
METHOD on_event.
CASE client->get_event( ).
WHEN `MENU_BUTTON`.
" onMenuButtonPress: toolPage.setSideExpanded( !sideExpanded )
side_expanded = xsdbool( side_expanded = abap_false ).
WHEN `ITEM_SELECT`.
" onItemSelect: pageContainer.to( the item's key )
DATA(key) = client->get_event_arg( ).
IF key IS NOT INITIAL.
selected_key = key.
client->follow_up_action( val = client->cs_event-control_by_id
t_arg = VALUE #( ( `pageContainer` ) ( `to` ) ( key ) ) ).
ENDIF.
ENDCASE.
ENDMETHOD.
METHOD model_init.
" model.json - the four navigation roots with their children, and the three
" fixed items. The fragment binds enabled on every item; the mock never sets
" it, so it is seeded true - the NavigationListItem default
t_navigation = VALUE #(
( title = `Root Item` icon = `sap-icon://employee` key = `root1` enabled = abap_true expanded = abap_true
t_items = VALUE #( ( title = `Child Item 1` key = `page1` enabled = abap_true )
( title = `Child Item 2` key = `page2` enabled = abap_true ) ) )
( title = `Root Item` icon = `sap-icon://building` key = `root2` enabled = abap_true expanded = abap_true )
( title = `Root Item` icon = `sap-icon://card` enabled = abap_true expanded = abap_false
t_items = VALUE #( ( title = `Child Item` enabled = abap_true )
( title = `Child Item` enabled = abap_true )
( title = `Child Item` enabled = abap_true )
( title = `Child Item` enabled = abap_true )
( title = `Child Item` enabled = abap_true )
( title = `Child Item` enabled = abap_true )
( title = `Child Item` enabled = abap_true ) ) )
( title = `Root Item` icon = `sap-icon://action` enabled = abap_true expanded = abap_false
t_items = VALUE #( ( title = `Child Item 1` enabled = abap_true )
( title = `Child Item 2` enabled = abap_true )
( title = `Child Item 3` enabled = abap_true ) ) ) ).
t_fixed_navigation = VALUE #(
( title = `Fixed Item 1` icon = `sap-icon://employee` enabled = abap_true expanded = abap_true )
( title = `Fixed Item 2` icon = `sap-icon://building` enabled = abap_true expanded = abap_true )
( title = `Fixed Item 3` icon = `sap-icon://card` enabled = abap_true expanded = abap_true ) ).
" the second page's text, the sample's own lorem ipsum. An XML attribute
" normalizes its line breaks and indentation to single spaces, which is what
" the browser gets and what is stored here
page2_text = `Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusantium architecto autem dicta dolor dolores dolorum earum enim error esse eum ex ` &&
`exercitationem explicabo facilis fugit ipsum maiores, necessitatibus nemo nihil numquam odio officiis optio possimus quas qui quod quos, reiciendis ` &&
`similique sunt tempore tenetur ut vitae voluptate. Ab accusantium, aperiam, asperiores dolores fuga id incidunt itaque numquam placeat quidem ` &&
`recusandae veritatis voluptatibus. Delectus, dicta ea harum hic illo necessitatibus nisi odit quidem quo quod. Architecto at delectus error eum ` &&
`laborum modi, necessitatibus optio perspiciatis quaerat quam, quas quo recusandae repellat sed totam, veritatis voluptas voluptatem voluptates. ` &&
`Accusamus aliquid, asperiores assumenda consequuntur corporis cum debitis delectus doloremque earum esse explicabo fugiat id inventore iste laborum ` &&
`modi molestiae neque nihil obcaecati officia omnis porro quae quasi repellat sed sunt suscipit unde vel veritatis voluptatem! Dolor dolorum quis ` &&
`ratione. Aliquam consectetur eius facilis placeat quibusdam sint tenetur. Ab aliquid at, fuga qui quia soluta veritatis. Amet, eius est ` &&
`exercitationem incidunt magnam necessitatibus porro provident quas tempore velit. Aperiam architecto commodi deleniti dicta eius facere nemo possimus ` &&
`sit voluptate voluptatem. Accusamus ad, alias architecto autem blanditiis culpa cumque ea enim ex hic iste laboriosam laborum laudantium magni, ` &&
`maxime minus necessitatibus quibusdam quisquam repudiandae sapiente ullam vel velit. Adipisci aliquid amet, architecto at atque blanditiis corporis ` &&
`cupiditate dolorem ea enim esse ex, illum iste libero, magnam minus molestiae optio porro quaerat sed tempore vero voluptates! A ad alias aspernatur ` &&
`cumque cupiditate dicta doloremque eos ipsam maxime, molestias necessitatibus, nisi nulla quasi, qui quod sed sequi ut veritatis. Culpa et laboriosam ` &&
`maiores nemo nisi odit officiis praesentium. Animi cumque dolore eaque enim eveniet, hic neque omnis quae quo temporibus. Assumenda at aut dicta ` &&
`ducimus eius facere, laudantium maiores minima molestiae quis, quod saepe sint veniam? Ab ad animi architecto aut dolorem, earum ex exercitationem ` &&
`facere illum ipsum nisi officiis ratione repudiandae suscipit voluptas. Animi commodi dolores eveniet facere id nesciunt non provident vero. A ` &&
`adipisci aliquam architecto aspernatur assumenda atqu autem blanditiis consequuntur debitis dolorem dolorum ducimus, ea earum eos explicabo fuga iste ` &&
`itaque iure iusto labore laudantium modi nobis pariatur porro quam repellat tempore unde ut voluptatem voluptatum? Doloribus ea eius excepturi ` &&
`explicabo iure molestias odit omnis pariatur qui rem, similique sunt veniam voluptatum. Adipisci aliquam amet aspernatur commodi, corporis cum dolor ` &&
`doloribus dolorum eos eum facere labore magni minus natus nostrum perspiciatis, reiciendis rerum sit soluta tempora tenetur unde vitae voluptatem. ` &&
`Accusantium architecto, dolor earum fuga iure laboriosam natus officiis quod quos, repellendus, soluta ut velit veritatis. Adipisci amet asperiores ` &&
`assumenda blanditiis consectetur consequatur delectus distinctio dolores doloribus eius fugiat harum illum incidunt ipsa iusto labore laboriosam ` &&
`libero maxime minus modi nam nesciunt nobis nulla obcaecati, odio omnis provident quasi qui quidem quod quos repellat sed unde! Ducimus, harum, odio? ` &&
`Accusantium asperiores atque cum cumque dicta distinctio, doloremque doloribus eaque earum enim eveniet expedita facere fugit impedit iure iusto ` &&
`labore libero maiores non odit pariatur possimus quas quibusdam suscipit tempora vel voluptas. Alias asperiores aspernatur aut culpa delectus ` &&
`deserunt dolor dolore eligendi enim ex facils fugiat id ipsam iste libero modi perferendis placeat quas quisquam quod repudiandae saepe sequi ` &&
`similique tenetur, ut, veniam veritatis vero. Adipisci animi aut consectetur cumque cupiditate dignissimos, dolorem, error excepturi iure laudantium ` &&
`nihil officia porro qui quod sit temporibus voluptate. Ad adipisci aliquam ducimus ea eius eligendi error ipsam maiores natus nemo nesciunt officiis, ` &&
`repellat, soluta? Animi aspernatur autem blanditiis, culpa dolore ducimus eaque eius et exercitationem impedit ipsum magnam modi nostrum odio ` &&
`recusandae rem sint suscipit temporibus veniam vitae. Assumenda dolore illo illum incidunt ipsam modi molestiae necessitatibus odit omnis quam ` &&
`repellendus repudiandae sapiente soluta tempore, temporibus ullam unde vero! Aliquam aperiam aspernatur assumenda autem corporis, dolore doloribus, ` &&
`enim eum, incidunt nemo recusandae repellat unde. Ad aliquid architecto assumenda at beatae, culpa, dolore eaque earum enim excepturi impedit quas ` &&
`rerum, ut. Alias beatae cupiditate eum expedita explicabo harum impedit ipsum labore magni minus mollitia nemo, optio praesentium quod ut. Debitis ` &&
`dolor doloremque ducimus eos eveniet facere itaque minima minus modi ullam? Ad adipisci architecto beatae cum deserunt dolorum eaque ipsam itaque ` &&
`mollitia officia officiis pariatur reiciendis saepe, sint suscipit vero voluptas voluptates? Accusamus cumque debitis deleniti ducimus eum fuga fugit ` &&
`impedit inventore labore laborum laudantium, modi mollitia, numquam quod repudiandae rerum suscipit totam veritatis voluptas voluptatum? A et harum ` &&
`id impedit in, quasi quos saepe! Delectus deserunt eaque eligendi facere fugiat, harum id incidunt ipsum laborum magnam maiores maxime minus mollitia ` &&
`neque nihil nisi obcaecati officia provident qui rem, sequi, soluta tempore unde veniam veritatis vitae voluptate. Animi cum explicabo id molestias ` &&
`optio suscipit unde! Adipisci aperiam corporis cupiditate eligendi eveniet ex, in ipsum laboriosam maiores maxime modi nostrum perferendis ` &&
`perspiciatis porro quae recusandae repellat similique sit unde voluptatibus? Accusamus adipisci alias at autem consectetur dolor eaque facere illo, ` &&
`incidunt iste, itaque, iusto magnam maxime minima natus necessitatibus nesciunt nobis quam quasi quia rem repellat rerum temporibus ullam vel veniam ` &&
`voluptate? Animi, aperiam ea error eveniet inventore iure minima modi, nam obcaecati odit quam voluptatum! Accusantium, adipisci distinctio ducimus ` &&
`id laudantium minus rerum. Aliquam, itaque perferendis? Alias aperiam aut consequatur iste minus mollitia quasi suscipit! Asperiores aut blanditiis ` &&
`consequuntur dolor dolorem, doloremque dolores facere fuga, impedit itaque minus modi nostrum numquam odio perspiciatis quae qui quibusdam quisquam ` &&
`quod recusandae sapiente sint sit sunt tempora tenetur totam ut voluptas. Ab alias, at hic ipsa neque officia quisquam sequi sit sunt vitae voluptas, ` &&
`voluptatum. Amet delectus error explicabo non nulla, odio quae quas quos sint veniam. Ad aut cupiditate distinctio earum, expedita inventore quae ` &&
`quas repellat. Delectus, dicta esse est molestias perferendis sunt veniam. A, accusamus alias aliquam consectetur consequatur delectus dolore eaque ` &&
`exercitationem in incidunt laudantium nobis, quisquam recusandae rem repudiandae velit, vitae voluptates? Aliquam, aliquid corporis cum dolor, eius ` &&
`est eveniet excepturi impedit iusto laborum minus necessitatibus nisi nostrum officiis quidem rem repellat reprehenderit sit temporibus ullam unde ` &&
`veritatis vero voluptas voluptatibus voluptatum. Accusamus asperiores consectetur cumque iste magnam magni mollitia, nam porro quasi qui suscipit, ` &&
`voluptates voluptatum. Amet aspernatur, culpa cum debitis id itaque libero magni minus molestiae quae quas, quasi reprehenderit sit ut velit? Atque ` &&
`blanditiis dolorem et maxime nulla numquam obcaecati perspiciatis quam quisquam ratione reprehenderit sunt totam vel, voluptas voluptates? ` &&
`Accusantium adipisci aliquid assumenda ducimus eos error est exercitationem, ipsum iusto laudantium nisi porro quia, quos saepe sequi sint, vel ` &&
`voluptatum! Autem commodi consequuntur culpa dolore et fugit molestiae, nulla pariatur quae, quia rerum tempore vel. Aperiam, dicta doloribus ex nemo ` &&
`non quidem recusandae suscipit velit. Adipisci alias amet atque consequatur distinctio dolores dolorum iste itaque iure laborum magni minima ` &&
`molestiae nam nisi officia quibusdam, quis similique sint temporibus vitae? Cumque debitis dolore eligendi enim magnam natus quasi quos repudiandae? ` &&
`Ab architecto at atque corporis deleniti dignissimos ea eaque eius eligendi et ex fugiat, incidunt laborum natus necessitatibus obcaecati optio ` &&
`placeat porro quam quas quibusdam quis quod repellat saepe sapiente tempore ut velit. A accusamus assumenda at autem, beatae commodi deleniti ` &&
`doloremque ea fuga fugiat fugit inventore ipsum laborum libero maxime minima molestiae nobis obcaecati omnis optio porro quae, qui ratione ` &&
`repudiandae sapiente sed voluptas! Amet animi, consectetur consequuntur corporis eos error explicabo facere fugit impedit iste laudantium maiores ` &&
`perspiciatis possimus similique soluta. Ab accusamus alias aliquam amet atque cupiditate dignissimos distinctio ea earum et facilis iusto ` &&
`perspiciatis quibusdam quidem quod ratione, sapiente vitae? Assumenda culpa excepturi, facilis fugiat fugit hic, illum inventore libero nulla odit ` &&
`omnis perspiciatis quae quasi, ratione voluptatum! Aspernatur assumenda consectetur dolor dolorem doloribus eum, exercitationem, expedita facilis ` &&
`fugiat hic illo, iusto neque nulla omnis quas quidem quo vitae! Accusamus aspernatur autem dignissimos dolor, ex maxime necessitatibus nisi qui ` &&
`soluta? Ab adipisci consequuntur cupiditate deleniti dolore earum enim eos est facilis fuga fugiat hic illo impedit in ipsa ipsam iure iusto magnam ` &&
`modi nam nemo nobis nostrum odit officia optio quaerat quasi quibusdam, quo recusandae sed, sequi sit tempore tenetur velit veritatis voluptate ` &&
`voluptatibus! Aspernatur assumenda, dolore doloremque facere iure laudantium maxime minus obcaecati perspiciatis porro quaerat quos reiciendis ` &&
`repellendus sint voluptate voluptatem voluptatibus. Architecto, commodi consectetur consequatur cumque dolorem doloribus ducimus eligendi fugiat in ` &&
`inventore itaque iure laborum libero magnam minima minus nam nobis non nulla numquam odio pariatur quis sapiente sint vel. Accusantium ad aliquam ` &&
`autem distinctio dolores error est fugit harum nulla, odit officia pariatur quis ratione rem sunt, temporibus tenetur voluptas voluptate. Eveniet ` &&
`nesciunt quo rem! In molestias, vitae! Assumenda cum cupiditate dolores eveniet sunt! Adipisci eos mollitia non. Accusamus eaque ex illo, mollitia ` &&
`provident quos voluptatibus! Aliquid architecto esse est eum iusto nemo nobis odit rerum. Aliquam asperiores cumque dignissimos ea eos ipsa libero ` &&
`nisi sapiente sunt unde? Esse excepturi harum itaque perferendis quas, quis temporibus. Architecto commodi, debitis dignissimos dolorum eaque ` &&
`exercitationem fuga impedit in ipsam iusto magni maxime mollitia nam nostrum numquam odio perspiciatis quasi quia quidem, sunt suscipit totam vitae ` &&
`voluptate. Aspernatur assumenda beatae consectetur deserunt dolore eligendi est excepturi exercitationem facilis illo ipsum iusto laboriosam ` &&
`molestiae nam neque nobis obcaecati officiis provident quasi quibusdam quisquam ratione reiciendis rem repellendus repudiandae rerum sapiente ` &&
`tempora, velit vitae voluptatem! A amet atque aut consequuntur deserunt, dolores dolorum ducimus excepturi facere fugiat harum in itaque libero, ` &&
`magni minima minus modi necessitatibus officia praesentium quae quasi quo recusandae reiciendis rerum sint tempore totam voluptatum! Dolores earum ` &&
`eos error esse mollitia nam nobis quas voluptates. A id nisi quo reprehenderit similique? Ad, aperiam, architecto autem beatae cumque ex fugiat illum ` &&
`ipsa itaque libero magni, minus molestias mollitia nostrum officiis omnis saepe tenetur vel velit veniam! A accusantium assumenda consectetur ` &&
`consequuntur debitis deleniti deserunt, ducimus ea eaque eligendi est hic illum in incidunt iusto magni minima minus molestias nam, necessitatibus, ` &&
`nisi nobis numquam odio odit porro quaerat quibusdam quidem quos ratione repellat repellendus tenetur voluptate voluptatibus. Adipisci dignissimos ` &&
`molestiae possimus praesentium quo sed sint. Nobis quasi unde ut. Distinctio doloremque, molestias. Accusantium aliquid asperiores consectetur ` &&
`debitis dolorem dolores eaque error illo in inventore itaque iusto labore minima molestiae non numquam, perspiciatis quae qui, reiciendis repudiandae ` &&
`sed tenetur totam, veniam? Aliquid animi architecto consequatur deserunt distinctio maxime quas repellendus? At culpa dolores error exercitationem ` &&
`perspiciatis quo repellat rerum voluptatum. Esse, quas, similique. Aliquid aut deleniti dicta eligendi fugit hic in, inventore omnis perspiciatis ` &&
`quaerat quam voluptates, voluptatum? Aliquid est iusto ut vel! Debitis distinctio dolorum est hic, ipsa mollitia numquam quae recusandae totam vel! ` &&
`Ab aliquid animi blanditiis distinctio, eaque facere harum id officiis placeat quis reiciendis, sapiente tenetur voluptas. Animi atque aut id ` &&
`perspiciatis qui quis? Hic ipsa omnis quod sunt voluptatibus? Ducimus nulla placeat quibusdam? Accusantium aliquam beatae consequuntur dolorem enim ` &&
`expedita ipsum iure maxime minima minus nulla numquam, officia omnis pariatur perferendis possimus qui, sit soluta. Aspernatur beatae doloremque ` &&
`exercitationem facilis fugit nesciunt pariatur placeat provident quidem tempore. In laboriosam qui ullam ut. Accusantium consequatur debitis impedit ` &&
`molestiae officiis pariatur repudiandae velit voluptate? Assumenda autem, delectus fugiat inventore quos reprehenderit voluptate voluptatem. Commodi, ` &&
`eligendi eum inventore officiis qui saepe sit! Accusantium aliquam aperiam aut cum ea eius eveniet ex fugit hic iure minima modi qui quis repellat ` &&
`sequi, ullam voluptas, voluptate. Alias amet consequatur corporis dolor ducimus enim eos error eum excepturi exercitationem expedita harum id iure ` &&
`maxime molestiae necessitatibus nemo nesciunt nulla numquam odit officiis perspiciatis quam quas qui quo quod ratione recusandae reiciendis, saepe ` &&
`sed unde ut velit voluptatem! Architecto culpa cum dolore eveniet fuga libero nemo nihil porro qui, recusandae reprehenderit, tempora unde voluptas? ` &&
`Ab aspernatur consequuntur, dolore doloremque esse illum labore magnam, magni nisi nulla quae quia quos rerum tenetur totam ut voluptatem voluptates? ` &&
`A, aliquid aperiam corporis debitis dolorem et ex exercitationem ipsum molestiae nesciunt numquam quas, ullam voluptates. Distinctio, dolores dolorum ` &&
`ex fuga fugit quam reiciendis rem. Aliquam aliquid amet consequatur eos expedita facere hic itaque labore laboriosam, nobis omnis pariatur ` &&
`repudiandae, temporibus tenetur unde, veniam veritatis. Accusamus accusantium alias animi aperiam atque cum debitis dignissimos dolorem, dolorum ` &&
`eligendi ex explicabo facere inventore ipsum molestiae natus nemo odio optio provident, quam quas quibusdam recusandae repellat saepe tempora vel ` &&
`voluptate. Aliquam atque cum, dolor dolores ea expedita id in ipsa labore maiores nemo nobis pariatur perferendis perspiciatis sed. Expedita, unde?`.
ENDMETHOD.
ENDCLASS.
More in sap.f
- Grid Container - Keyboard navigation between multiple grids — This sample demonstrates the keyboard navigation between multiple grids
- Semantic Page - Freestyle Sample — This sample demonstrates a SemanticPage with all semantic-specific actions both in the ti…
- Dynamic Page with Analytical Table — Dynamic Page containing an Analytical Table in the content area aligned with the SAP Fior…
- Dynamic Page with Wizard — Dynamic Page containing a sap.m.Wizard and WizardProgressNavigator in the content area.
- Flexible Column Layout with programmatic scrolling to an item — FlexibleColumnLayout where the app programmatically scrolls to some item within the newly…
- Flexible Column Layout with Routing and first page in fullscreen only — Flexible Column Layout as an app with routing that displays different pages in the initia…
- Flexible Column Layout with Routing and One Initial Column — Flexible Column Layout as an app with routing that starts with a single initial column.
- Flexible Column Layout with Routing and Two Initial Columns — Flexible Column Layout as an app with routing that starts with two initial columns.
- Grid List - Item Designs — This is a sample for GridList item templates representing a typical tools page dashboard…
- Navigation with keyboard arrows between multiple GridLists — This sample demonstrates the keyboard navigation between multiple grids
- Shell Bar with Product Switch — Shell Bar example with enabled Product Switch, configurable by the app developer. The Pro…
- Shell Bar with Flexible Column Layout — Example of Shell Bar in combination with Flexible Column Layout.
On this page