Skip to content

Commit abeb7d9

Browse files
nav container in popup (#108)
Co-authored-by: oblomov <[email protected]>
1 parent ae27467 commit abeb7d9

File tree

2 files changed

+177
-0
lines changed

2 files changed

+177
-0
lines changed

src/z2ui5_cl_demo_app_170.clas.abap

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
class Z2UI5_CL_DEMO_APP_170 definition
2+
public
3+
create public .
4+
5+
public section.
6+
7+
interfaces IF_SERIALIZABLE_OBJECT .
8+
interfaces Z2UI5_IF_APP .
9+
10+
data CLIENT type ref to Z2UI5_IF_CLIENT .
11+
data MV_SELECTED_KEY type STRING .
12+
13+
methods UI5_DISPLAY .
14+
methods UI5_EVENT .
15+
methods SIMPLE_POPUP1 .
16+
methods SIMPLE_POPUP2 .
17+
PROTECTED SECTION.
18+
PRIVATE SECTION.
19+
ENDCLASS.
20+
21+
22+
23+
CLASS Z2UI5_CL_DEMO_APP_170 IMPLEMENTATION.
24+
25+
26+
METHOD SIMPLE_POPUP1.
27+
28+
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
29+
30+
DATA(dialog) = popup->dialog( stretch = abap_true
31+
afterclose = client->_event( 'BTN_OK_1ND' )
32+
)->content( ).
33+
34+
* DATA(content) = dialog->button( text = `Open 2nd popup` press = client->_event( 'GOTO_2ND' ) ).
35+
DATA(content) = dialog->Icon_Tab_bar( selectedkey = client->_bind_edit( mv_selected_key )
36+
* select = client->_event( `OnSelectIconTabBar` )
37+
* select = client->_event_client( val = 'NAV_CONTAINER_TO' t_arg = value #( ( `NavCon` ) ( `${$parameters}` ) ) )
38+
select = client->_event_client( val = `POPUP_NAV_CONTAINER_TO` t_arg = value #( ( `NavCon` ) ( `${$parameters>/selectedKey}` ) ) )
39+
headermode = `Inline`
40+
expanded = abap_true
41+
expandable = abap_false
42+
)->items(
43+
)->icon_tab_filter( key = `page1` text = `Home` )->get_parent(
44+
)->icon_tab_filter( key = `page2` text = `Applications` )->get_parent(
45+
)->icon_tab_filter( key = `page3` text = `Users and Groups`
46+
)->items(
47+
)->icon_tab_filter( key = `page11` text = `User 1` )->get_parent(
48+
)->icon_tab_filter( key = `page32` text = `User 2` )->get_parent(
49+
)->icon_tab_filter( key = `page33` text = `User 3`
50+
51+
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
52+
)->content( )->vbox( height = `100%`
53+
)->nav_container( id = `NavCon` initialpage = `page1` defaulttransitionname = `flip` height = '400px'
54+
)->pages(
55+
)->page(
56+
title = 'first page'
57+
id = `page1`
58+
)->get_parent(
59+
)->page(
60+
title = 'second page'
61+
id = `page2`
62+
)->get_parent(
63+
)->page(
64+
title = 'third page'
65+
id = `page3`
66+
).
67+
68+
dialog->get_parent( )->footer( )->overflow_toolbar(
69+
)->toolbar_spacer(
70+
)->button(
71+
text = 'OK'
72+
press = client->_event( 'BTN_OK_1ND' )
73+
type = 'Emphasized' ).
74+
75+
client->popup_display( popup->stringify( ) ).
76+
77+
ENDMETHOD.
78+
79+
80+
METHOD SIMPLE_POPUP2.
81+
82+
DATA(popup) = z2ui5_cl_xml_view=>factory_popup( ).
83+
84+
DATA(dialog) = popup->dialog(
85+
afterclose = client->_event( 'BTN_OK_2ND' )
86+
)->content( ).
87+
88+
DATA(content) = dialog->label( text = 'this is a second popup' ).
89+
90+
dialog->get_parent( )->footer( )->overflow_toolbar(
91+
)->toolbar_spacer(
92+
)->button(
93+
text = 'GOTO 1ST POPUP'
94+
press = client->_event( 'BTN_OK_2ND' )
95+
type = 'Emphasized' ).
96+
97+
client->popup_display( popup->stringify( ) ).
98+
99+
ENDMETHOD.
100+
101+
102+
METHOD UI5_DISPLAY.
103+
104+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
105+
view->shell(
106+
)->page(
107+
title = 'abap2UI5 - Popup To Popup'
108+
navbuttonpress = client->_event( val = 'BACK' check_view_destroy = abap_true )
109+
shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL )
110+
)->header_content(
111+
)->link(
112+
text = 'Source_Code'
113+
target = '_blank'
114+
href = z2ui5_cl_demo_utility=>factory( client )->app_get_url_source_code( )
115+
)->get_parent(
116+
)->button(
117+
text = 'Open Popup...'
118+
press = client->_event( 'POPUP' ) ).
119+
120+
client->view_display( view->stringify( ) ).
121+
122+
ENDMETHOD.
123+
124+
125+
METHOD UI5_EVENT.
126+
127+
CASE client->get( )-event.
128+
WHEN 'GOTO_2ND'.
129+
simple_popup2( ).
130+
131+
WHEN 'BTN_OK_2ND'.
132+
client->popup_destroy( ).
133+
simple_popup1( ).
134+
135+
WHEN 'BTN_OK_1ND'.
136+
client->popup_destroy( ).
137+
138+
WHEN 'POPUP'.
139+
simple_popup1( ).
140+
141+
WHEN 'BACK'.
142+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
143+
144+
ENDCASE.
145+
146+
ENDMETHOD.
147+
148+
149+
METHOD Z2UI5_IF_APP~MAIN.
150+
151+
me->client = client.
152+
153+
IF client->get( )-check_on_navigated = abap_true.
154+
ui5_display( ).
155+
RETURN.
156+
ENDIF.
157+
158+
ui5_event( ).
159+
160+
ENDMETHOD.
161+
ENDCLASS.

src/z2ui5_cl_demo_app_170.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_DEMO_APP_170</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>popup - nav container in popup</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

0 commit comments

Comments
 (0)