Skip to content

Commit 5355985

Browse files
authored
update
1 parent 3de2610 commit 5355985

File tree

2 files changed

+219
-0
lines changed

2 files changed

+219
-0
lines changed
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
CLASS z2ui5_cl_cc_sample_messaging_2 DEFINITION
2+
PUBLIC
3+
FINAL
4+
CREATE PUBLIC .
5+
6+
PUBLIC SECTION.
7+
8+
INTERFACES z2ui5_if_app .
9+
10+
DATA mv_input_master TYPE string.
11+
DATA mv_input_detail TYPE string.
12+
TYPES:
13+
BEGIN OF ts_tree_row_base,
14+
object TYPE string,
15+
col2 TYPE string,
16+
col3 TYPE string,
17+
col4 TYPE string,
18+
END OF ts_tree_row_base .
19+
TYPES:
20+
BEGIN OF ts_tree_level3.
21+
INCLUDE TYPE ts_tree_row_base.
22+
TYPES END OF ts_tree_level3 .
23+
TYPES
24+
tt_tree_level3 TYPE STANDARD TABLE OF ts_tree_level3 WITH KEY object .
25+
TYPES
26+
BEGIN OF ts_tree_level2.
27+
INCLUDE TYPE ts_tree_row_base.
28+
TYPES categories TYPE tt_tree_level3.
29+
TYPES END OF ts_tree_level2.
30+
31+
TYPES
32+
tt_tree_level2 TYPE STANDARD TABLE OF ts_tree_level2 WITH KEY object.
33+
TYPES:
34+
BEGIN OF ts_tree_level1.
35+
INCLUDE TYPE ts_tree_row_base.
36+
TYPES categories TYPE tt_tree_level2.
37+
TYPES END OF ts_tree_level1 .
38+
TYPES
39+
tt_tree_level1 TYPE STANDARD TABLE OF ts_tree_level1 WITH KEY object .
40+
41+
DATA mt_tree TYPE tt_tree_level1.
42+
DATA check_initialized TYPE abap_bool .
43+
44+
DATA mv_check_enabled_01 TYPE abap_bool VALUE abap_true.
45+
DATA mv_check_enabled_02 TYPE abap_bool.
46+
47+
DATA mv_ui5_version TYPE string.
48+
49+
DATA mt_messaging TYPE z2ui5_cl_cc_messaging=>ty_t_items.
50+
DATA mt_message_manager TYPE z2ui5_cl_cc_message_m=>ty_t_items.
51+
52+
PROTECTED SECTION.
53+
54+
DATA client TYPE REF TO z2ui5_if_client.
55+
56+
METHODS view_display_master.
57+
METHODS view_display_detail.
58+
59+
PRIVATE SECTION.
60+
61+
ENDCLASS.
62+
63+
64+
65+
CLASS Z2UI5_CL_CC_SAMPLE_MESSAGING_2 IMPLEMENTATION.
66+
67+
68+
METHOD view_display_detail.
69+
70+
DATA(lo_view_nested) = z2ui5_cl_xml_view=>factory( ).
71+
72+
DATA(page) = lo_view_nested->page( title = `Nested View` ).
73+
74+
page->button( text = 'event' press = client->_event( 'UPDATE_DETAIL' )
75+
)->input( id = `inputNest`
76+
value = `{path:'` && client->_bind_edit( val = mv_input_detail view = client->cs_view-nested path = abap_true ) && `',type:'sap.ui.model.type.String', constraints: { maxLength: 3 } }` ).
77+
78+
page->button(
79+
text = 'button 01'
80+
* type = 'Transparent'
81+
press = client->_event( `NEST_TEST` )
82+
enabled = client->_bind( mv_check_enabled_01 ) ).
83+
84+
page->button(
85+
text = 'button 02'
86+
* type = 'Transparent'
87+
press = client->_event( `NEST_TEST` )
88+
enabled = client->_bind( mv_check_enabled_02 )
89+
).
90+
91+
client->nest_view_display(
92+
val = lo_view_nested->stringify( )
93+
id = `test`
94+
method_insert = 'addMidColumnPage'
95+
method_destroy = 'removeAllMidColumnPages'
96+
).
97+
98+
ENDMETHOD.
99+
100+
101+
METHOD view_display_master.
102+
103+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
104+
105+
IF mv_ui5_version > `1.118`.
106+
view->_z2ui5( )->messaging( client->_bind_edit( mt_messaging ) ).
107+
ELSE.
108+
view->_z2ui5( )->message_manager( client->_bind_edit( mt_message_manager ) ).
109+
ENDIF.
110+
111+
DATA(page) = view->shell(
112+
)->page(
113+
title = 'abap2UI5 - Master Detail Page with Nested View'
114+
navbuttonpress = client->_event( 'BACK' )
115+
shownavbutton = abap_true ).
116+
117+
page->header_content(
118+
)->link( text = 'Demo' target = '_blank' href = `https://twitter.com/abap2UI5/status/1628701535222865922`
119+
)->link(
120+
)->get_parent( ).
121+
122+
DATA(col_layout) = page->flexible_column_layout( layout = 'TwoColumnsBeginExpanded' id ='test' ).
123+
124+
DATA(lr_master) = col_layout->begin_column_pages( ).
125+
126+
client->_bind( mt_tree ).
127+
DATA(tab) = lr_master->vbox( )->tree_table(
128+
rows = `{path:'/MT_TREE', parameters: {arrayNames:['CATEGORIES']}}` ).
129+
tab->tree_columns(
130+
)->tree_column( label = 'Object'
131+
)->tree_template(
132+
)->text( text = '{OBJECT}')->get_parent( )->get_parent(
133+
)->tree_column( label = 'Column2'
134+
)->tree_template(
135+
)->text( text = '{COL2}')->get_parent( )->get_parent(
136+
)->tree_column( label = 'Column3'
137+
)->tree_template(
138+
)->text( text = '{COL3}')->get_parent( )->get_parent(
139+
)->tree_column( label = 'Column4'
140+
)->tree_template(
141+
)->text( text = '{COL4}').
142+
143+
tab->get_parent( )->label( text = `input master` )->input( id = `inputMain`
144+
value = `{path:'` && client->_bind_edit( val = mv_input_master view = client->cs_view-main path = abap_true ) && `',type:'sap.ui.model.type.String', constraints: { maxLength: 3 } }`
145+
)->button( press = client->_event( `TEST` ) text = `button` ).
146+
147+
148+
client->view_display( page->stringify( ) ).
149+
150+
151+
152+
ENDMETHOD.
153+
154+
155+
METHOD z2ui5_if_app~main.
156+
157+
me->client = client.
158+
159+
IF check_initialized = abap_false.
160+
check_initialized = abap_true.
161+
162+
mt_tree = VALUE #( ( object = '1' categories = VALUE #( ( object = '1.1' categories = VALUE #( ( object = '1.1.1')
163+
( object = '1.1.2') ) )
164+
( object = '1.2' ) ) )
165+
( object = '2' categories = VALUE #( ( object = '2.1' )
166+
( object = '2.2' ) ) )
167+
( object = '3' categories = VALUE #( ( object = '3.1' )
168+
( object = '3.2' ) ) ) ).
169+
170+
* load two types of message handling
171+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
172+
client->view_display(
173+
view->_z2ui5( )->info_frontend( ui5_version = client->_bind_edit( mv_ui5_version ) )->get_parent(
174+
)->_generic( ns = `html` name = `script` )->_cc_plain_xml( z2ui5_cl_cc_messaging=>get_js( ) )->get_parent(
175+
)->_generic( ns = `html` name = `script` )->_cc_plain_xml( z2ui5_cl_cc_message_m=>get_js( ) )->get_parent(
176+
)->_z2ui5( )->timer( client->_event( `START` )
177+
)->stringify( ) ).
178+
179+
ENDIF.
180+
181+
CASE client->get( )-event.
182+
WHEN 'START'.
183+
view_display_master( ).
184+
view_display_detail( ).
185+
186+
WHEN `UPDATE_DETAIL`.
187+
view_display_detail( ).
188+
189+
WHEN 'TEST'.
190+
client->message_toast_display( `output: ` && mv_input_master ).
191+
192+
WHEN `NEST_TEST`.
193+
194+
mv_check_enabled_01 = xsdbool( mv_check_enabled_01 = abap_false ).
195+
mv_check_enabled_02 = xsdbool( mv_check_enabled_01 = abap_false ).
196+
client->message_toast_display( mv_input_detail ).
197+
198+
WHEN 'BACK'.
199+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
200+
ENDCASE.
201+
202+
ENDMETHOD.
203+
ENDCLASS.
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_CC_SAMPLE_MESSAGING_2</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>nested view - master detail</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)