Skip to content

Commit c654032

Browse files
committed
update samples
1 parent 69f3f70 commit c654032

10 files changed

+360
-8
lines changed

src/01/z2ui5_cl_launchpad_handler.clas.abap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
class Z2UI5_CL_LAUNCHPAD_HANDLER definition
2-
public
3-
final
4-
create public .
1+
CLASS z2ui5_cl_launchpad_handler DEFINITION
2+
PUBLIC
3+
FINAL
4+
CREATE PUBLIC .
55

6-
public section.
6+
PUBLIC SECTION.
77

8-
interfaces IF_HTTP_EXTENSION .
8+
INTERFACES if_http_extension .
99
PROTECTED SECTION.
1010
PRIVATE SECTION.
1111
ENDCLASS.
1212

1313

1414

15-
CLASS Z2UI5_CL_LAUNCHPAD_HANDLER IMPLEMENTATION.
15+
CLASS z2ui5_cl_launchpad_handler IMPLEMENTATION.
1616

1717

18-
METHOD IF_HTTP_EXTENSION~HANDLE_REQUEST.
18+
METHOD if_http_extension~handle_request.
1919

2020
server->response->set_cdata( z2ui5_cl_http_handler=>main( server->request->get_cdata( ) ) ).
2121
server->response->set_header_field( name = `cache-control` value = `no-cache` ).

src/03/package.devc.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DEVC" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<DEVC>
6+
<CTEXT>samples</CTEXT>
7+
</DEVC>
8+
</asx:values>
9+
</asx:abap>
10+
</abapGit>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
CLASS z2ui5_cl_lp_sample_01 DEFINITION PUBLIC.
2+
3+
PUBLIC SECTION.
4+
INTERFACES z2ui5_if_app.
5+
6+
DATA check_initialized TYPE abap_bool.
7+
8+
PROTECTED SECTION.
9+
PRIVATE SECTION.
10+
ENDCLASS.
11+
12+
13+
CLASS z2ui5_cl_lp_sample_01 IMPLEMENTATION.
14+
METHOD z2ui5_if_app~main.
15+
IF check_initialized = abap_false.
16+
check_initialized = abap_true.
17+
18+
IF client->get( )-check_launchpad_active = abap_false.
19+
client->message_box_display( `No Launchpad Active, Sample not working!` ).
20+
ENDIF.
21+
22+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
23+
DATA(page) = view->shell( )->page( showheader = abap_false ).
24+
client->view_display( page->simple_form( title = 'Laucnhpad I - Read Startup Parameters' editable = abap_true
25+
)->content( 'form'
26+
)->label( ``
27+
)->button( text = 'Read Parameters'
28+
press = client->_event( val = 'READ_PARAMS' )
29+
)->label( ``
30+
)->button( text = 'Go Back'
31+
press = client->_event( val = 'BACK' ) )->stringify( ) ).
32+
33+
ENDIF.
34+
35+
CASE client->get( )-event.
36+
37+
WHEN 'READ_PARAMS'.
38+
DATA(lv_text) = `Start Parameter: `.
39+
DATA(lt_params) = client->get( )-t_comp_params.
40+
LOOP AT lt_params INTO DATA(ls_param).
41+
lv_text = |{ lv_text } / { ls_param-n } = { ls_param-v }|.
42+
ENDLOOP.
43+
client->message_box_display( lv_text ).
44+
45+
WHEN 'BACK'.
46+
client->nav_app_leave( ).
47+
ENDCASE.
48+
49+
ENDMETHOD.
50+
ENDCLASS.

src/03/z2ui5_cl_lp_sample_01.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_LP_SAMPLE_01</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>launchpad I - Startup Parameters</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>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
CLASS z2ui5_cl_lp_sample_02 DEFINITION PUBLIC.
2+
3+
PUBLIC SECTION.
4+
INTERFACES z2ui5_if_app.
5+
6+
DATA mv_title TYPE string VALUE `my title`.
7+
DATA check_initialized TYPE abap_bool.
8+
9+
PROTECTED SECTION.
10+
11+
PRIVATE SECTION.
12+
ENDCLASS.
13+
14+
15+
16+
CLASS Z2UI5_CL_LP_SAMPLE_02 IMPLEMENTATION.
17+
18+
19+
METHOD z2ui5_if_app~main.
20+
IF check_initialized = abap_false.
21+
check_initialized = abap_true.
22+
23+
IF client->get( )-check_launchpad_active = abap_false.
24+
client->message_box_display( `No Launchpad Active, Sample not working!` ).
25+
ENDIF.
26+
27+
DATA(shell) = z2ui5_cl_xml_view=>factory( )->shell( ).
28+
IF client->get( )-check_launchpad_active = abap_true.
29+
DATA(page) = shell->page( showheader = abap_false ).
30+
page->_z2ui5( )->lp_title( client->_bind_edit( mv_title ) ).
31+
ELSE.
32+
page = shell->page( title = client->_bind_edit( mv_title ) ).
33+
ENDIF.
34+
35+
client->view_display( page->simple_form( title = 'Set Launchpad Title Dynamically' editable = abap_true
36+
)->content( 'form'
37+
)->label( ``
38+
)->input( client->_bind_edit( mv_title )
39+
)->label( ``
40+
)->button( text = 'Go Back'
41+
press = client->_event( val = 'BACK' ) )->stringify( ) ).
42+
43+
ENDIF.
44+
45+
CASE client->get( )-event.
46+
47+
WHEN 'READ_PARAMS'.
48+
DATA(lv_text) = `Start Parameter: `.
49+
DATA(lt_params) = client->get( )-t_comp_params.
50+
LOOP AT lt_params INTO DATA(ls_param).
51+
lv_text = |{ lv_text } / { ls_param-n } = { ls_param-v }|.
52+
ENDLOOP.
53+
client->message_box_display( lv_text ).
54+
55+
WHEN 'BACK'.
56+
client->nav_app_leave( ).
57+
ENDCASE.
58+
59+
ENDMETHOD.
60+
ENDCLASS.

src/03/z2ui5_cl_lp_sample_02.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_LP_SAMPLE_02</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>launchpad II - Set Title</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>
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
CLASS z2ui5_cl_lp_sample_03 DEFINITION PUBLIC.
2+
3+
PUBLIC SECTION.
4+
5+
INTERFACES z2ui5_if_app.
6+
7+
* DATA product TYPE string.
8+
* DATA quantity TYPE string.
9+
DATA check_initialized TYPE abap_bool.
10+
11+
DATA:
12+
BEGIN OF nav_params,
13+
product TYPE string,
14+
quantity TYPE string,
15+
END OF nav_params.
16+
17+
PROTECTED SECTION.
18+
PRIVATE SECTION.
19+
ENDCLASS.
20+
21+
22+
23+
CLASS z2ui5_cl_lp_sample_03 IMPLEMENTATION.
24+
25+
26+
METHOD z2ui5_if_app~main.
27+
28+
DATA(lt_startup_params) = client->get( )-s_config-t_startup_params.
29+
30+
IF check_initialized = abap_false.
31+
check_initialized = abap_true.
32+
33+
nav_params-product = '102343333'.
34+
35+
IF client->get( )-check_launchpad_active = abap_false.
36+
client->message_box_display( `No Launchpad Active, Sample not working!` ).
37+
ENDIF.
38+
39+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
40+
client->view_display( view->shell(
41+
)->page(
42+
showheader = xsdbool( abap_false = client->get( )-check_launchpad_active )
43+
title = 'abap2UI5 - Cross App Navigation App 127 - This App only works when started via Launchpad'
44+
navbuttonpress = client->_event( val = 'BACK' )
45+
shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL )
46+
)->header_content(
47+
)->link(
48+
text = 'Source_Code'
49+
50+
target = '_blank'
51+
)->get_parent(
52+
)->simple_form( title = 'App 127' editable = abap_true
53+
)->content( 'form'
54+
)->label( `Product`
55+
)->input( client->_bind_edit( nav_params-product )
56+
)->button( text = 'BACK' press = client->_event_client( client->cs_event-cross_app_nav_to_prev_app )
57+
)->button(
58+
text = 'go to app 128'
59+
press = client->_event_client(
60+
val = client->cs_event-cross_app_nav_to_ext
61+
t_arg = VALUE #(
62+
( `{ semanticObject: "Z2UI5_CL_DEMO_APP_128", action: "display" }` )
63+
* ( `{ "Product" : "102343333" }` )
64+
( `$` && client->_bind_edit( nav_params ) )
65+
)
66+
)
67+
)->stringify( ) ).
68+
69+
ENDIF.
70+
71+
CASE client->get( )-event.
72+
73+
WHEN 'BUTTON_POST'.
74+
75+
* client->message_toast_display( |{ product } { quantity } - send to the server| ).
76+
77+
WHEN 'BACK'.
78+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
79+
80+
ENDCASE.
81+
82+
ENDMETHOD.
83+
ENDCLASS.

src/03/z2ui5_cl_lp_sample_03.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_LP_SAMPLE_03</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>Launchpad III - cross app navigation 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>
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
CLASS z2ui5_cl_lp_sample_04 DEFINITION PUBLIC.
2+
3+
PUBLIC SECTION.
4+
5+
INTERFACES z2ui5_if_app.
6+
7+
DATA product TYPE string.
8+
DATA product_url TYPE string.
9+
DATA quantity TYPE string.
10+
DATA check_initialized TYPE abap_bool.
11+
DATA check_launchpad_active TYPE abap_bool.
12+
13+
PROTECTED SECTION.
14+
PRIVATE SECTION.
15+
ENDCLASS.
16+
17+
18+
19+
CLASS z2ui5_cl_lp_sample_04 IMPLEMENTATION.
20+
21+
22+
METHOD z2ui5_if_app~main.
23+
24+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
25+
product_url = z2ui5_cl_util=>url_param_get(
26+
val = `product`
27+
url = client->get( )-s_config-search ).
28+
check_launchpad_active = client->get( )-check_launchpad_active.
29+
30+
data(lt_params) = client->get( )-t_comp_params.
31+
try.
32+
product = lt_params[ n = `PRODUCT` ]-v.
33+
catch cx_root.
34+
endtry.
35+
IF check_initialized = abap_false.
36+
check_initialized = abap_true.
37+
38+
quantity = '500'.
39+
40+
client->view_display( view->shell(
41+
)->page(
42+
showheader = xsdbool( abap_false = client->get( )-check_launchpad_active )
43+
title = 'abap2UI5 - Cross App Navigation App 128'
44+
navbuttonpress = client->_event( val = 'BACK' )
45+
shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL )
46+
)->header_content(
47+
)->link(
48+
text = 'Source_Code'
49+
50+
target = '_blank'
51+
)->get_parent(
52+
)->simple_form( title = 'App 128' editable = abap_true
53+
)->content( 'form'
54+
)->title( 'Input'
55+
)->label( 'product nav param'
56+
)->input( client->_bind_edit( product )
57+
)->label( `CHECK_LAUNCHPAD_ACTIVE`
58+
)->input( check_launchpad_active
59+
)->button( press = client->_event( )
60+
)->button( text = 'BACK' press = client->_event_client( client->cs_event-cross_app_nav_to_prev_app )
61+
)->button(
62+
text = 'go to app 127'
63+
press = client->_event_client(
64+
val = client->cs_event-cross_app_nav_to_ext
65+
t_arg = VALUE #( ( `{ semanticObject: "Z2UI5_CL_DEMO_APP_127", action: "display" }` ) ( `{ ProductID : "123234" }`) )
66+
)
67+
)->stringify( ) ).
68+
69+
ENDIF.
70+
71+
client->view_model_update( ).
72+
73+
CASE client->get( )-event.
74+
75+
WHEN 'BUTTON_POST'.
76+
77+
* client->message_toast_display( |{ product } { quantity } - send to the server| ).
78+
79+
WHEN 'BACK'.
80+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
81+
82+
ENDCASE.
83+
84+
ENDMETHOD.
85+
ENDCLASS.

src/03/z2ui5_cl_lp_sample_04.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_LP_SAMPLE_04</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>Launchpad IV - cross app navigation II</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)