Skip to content

Commit 4afe40d

Browse files
abapsheepViktor Hoffmannabaplint[bot]
authored
Sample with Issue (#244)
* Sample with Issue * Update src/z2ui5_cl_demo_app_211.clas.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> * Update Issue * Update Issue --------- Co-authored-by: Viktor Hoffmann <Viktor.Hoffmann@swisskrono.com> Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
1 parent 100ed19 commit 4afe40d

File tree

4 files changed

+622
-0
lines changed

4 files changed

+622
-0
lines changed
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
"!
2+
CLASS z2ui5_cl_demo_app_211 DEFINITION
3+
PUBLIC
4+
CREATE PUBLIC.
5+
6+
PUBLIC SECTION.
7+
INTERFACES if_serializable_object.
8+
INTERFACES z2ui5_if_app.
9+
10+
TYPES:
11+
BEGIN OF ty_s_t002,
12+
id TYPE string,
13+
icon TYPE string,
14+
count TYPE string,
15+
table TYPE string,
16+
descr TYPE string,
17+
class TYPE string,
18+
END OF ty_s_t002.
19+
TYPES ty_t_t002 TYPE STANDARD TABLE OF ty_s_t002 WITH DEFAULT KEY.
20+
21+
DATA mv_selectedkey TYPE string.
22+
DATA mv_selectedkey_tmp TYPE string.
23+
DATA mt_t002 TYPE ty_t_t002.
24+
DATA mo_app TYPE REF TO object.
25+
26+
PROTECTED SECTION.
27+
DATA mo_main_page TYPE REF TO z2ui5_cl_xml_view.
28+
29+
DATA client TYPE REF TO z2ui5_if_client.
30+
DATA check_initialized TYPE abap_bool.
31+
32+
METHODS on_init.
33+
METHODS on_event.
34+
METHODS render_Main.
35+
36+
37+
38+
METHODS Render_sub_app.
39+
40+
PRIVATE SECTION.
41+
42+
ENDCLASS.
43+
44+
45+
CLASS z2ui5_cl_demo_app_211 IMPLEMENTATION.
46+
47+
48+
METHOD on_event.
49+
CASE client->get( )-event.
50+
WHEN 'ONSELECTICONTABBAR'.
51+
52+
CASE mv_selectedkey.
53+
54+
WHEN space.
55+
56+
WHEN OTHERS.
57+
58+
ENDCASE.
59+
60+
WHEN 'BACK'.
61+
62+
ENDCASE.
63+
ENDMETHOD.
64+
65+
METHOD on_init.
66+
67+
mt_t002 = VALUE #( class = 'Z2UI5_CL_DEMO_APP_212'
68+
( id = '1' count = '5' table = 'Z2UI5_T003' descr = 'Table 01' icon = 'sap-icon://add' )
69+
( id = '2' count = '10' table = 'Z2UI5_T003' descr = 'Table 01' icon = 'sap-icon://add' )
70+
( id = '3' count = '15' table = 'Z2UI5_T004' descr = 'Table 02' icon = 'sap-icon://accept' ) ).
71+
72+
mv_selectedkey = '1'.
73+
74+
ENDMETHOD.
75+
76+
METHOD render_main.
77+
DATA(view) = z2ui5_cl_xml_view=>factory( )->shell( ).
78+
79+
DATA(page) = view->page( id = `page_main`
80+
title = 'Customizing'
81+
navbuttonpress = client->_event( 'BACK' )
82+
shownavbutton = abap_true
83+
class = 'sapUiContentPadding' ).
84+
85+
DATA(lo_items) = page->icon_tab_bar( class = 'sapUiResponsiveContentPadding'
86+
selectedKey = client->_bind_edit( mv_selectedkey )
87+
select = client->_event( val = 'ONSELECTICONTABBAR' )
88+
)->items( ).
89+
90+
LOOP AT mt_t002 REFERENCE INTO DATA(line).
91+
92+
DATA(text) = line->descr.
93+
DATA(with_icon) = line->icon.
94+
95+
lo_items->icon_tab_filter( icon = line->icon
96+
iconcolor = 'Positive'
97+
count = line->count
98+
text = text
99+
key = line->id
100+
showall = with_icon ).
101+
102+
lo_items->icon_tab_separator( ).
103+
104+
ENDLOOP.
105+
106+
mo_main_page = lo_items.
107+
ENDMETHOD.
108+
109+
METHOD z2ui5_if_app~main.
110+
me->client = client.
111+
112+
IF check_initialized = abap_false.
113+
check_initialized = abap_true.
114+
115+
on_init( ).
116+
117+
render_Main( ).
118+
119+
ENDIF.
120+
121+
on_event( ).
122+
123+
Render_sub_app( ).
124+
ENDMETHOD.
125+
126+
METHOD Render_sub_app.
127+
128+
READ TABLE mt_t002 REFERENCE INTO DATA(t002)
129+
WITH KEY id = mv_selectedkey.
130+
131+
IF sy-subrc <> 0.
132+
RETURN.
133+
ENDIF.
134+
135+
CASE mv_selectedkey.
136+
137+
WHEN OTHERS.
138+
139+
IF mv_selectedkey <> mv_selectedkey_tmp.
140+
CREATE OBJECT mo_app TYPE (t002->class).
141+
ENDIF.
142+
143+
TRY.
144+
145+
CALL METHOD mo_app->('SET_APP_DATA')
146+
EXPORTING table = t002->table.
147+
148+
render_Main( ).
149+
150+
ASSIGN mo_app->('MO_PARENT_VIEW') TO FIELD-SYMBOL(<view>).
151+
IF <view> IS ASSIGNED.
152+
<view> = mo_main_page.
153+
ENDIF.
154+
155+
CALL METHOD mo_app->('Z2UI5_IF_APP~MAIN')
156+
EXPORTING client = client.
157+
158+
CATCH cx_root.
159+
RETURN.
160+
ENDTRY.
161+
162+
ENDCASE.
163+
164+
ASSIGN mo_app->('MV_VIEW_DISPLAY') TO FIELD-SYMBOL(<view_display>).
165+
166+
IF <view_display> = abap_true.
167+
<view_display> = abap_false.
168+
client->view_display( mo_main_page->stringify( ) ).
169+
ENDIF.
170+
171+
ASSIGN mo_app->('MV_VIEW_MODEL_UPDATE') TO FIELD-SYMBOL(<view_update>).
172+
173+
IF <view_update> = abap_true.
174+
<view_update> = abap_false.
175+
client->view_model_update( ).
176+
ENDIF.
177+
178+
IF mv_selectedkey <> mv_selectedkey_tmp.
179+
180+
client->view_display( mo_main_page->stringify( ) ).
181+
182+
mv_selectedkey_tmp = mv_selectedkey.
183+
184+
ENDIF.
185+
ENDMETHOD.
186+
187+
ENDCLASS.

src/z2ui5_cl_demo_app_211.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_211</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>App in App I</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)