Skip to content

Commit 5fade35

Browse files
authored
follow up action demos (#140)
1 parent 47a5e20 commit 5fade35

File tree

2 files changed

+103
-0
lines changed

2 files changed

+103
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
CLASS z2ui5_cl_demo_app_180 DEFINITION
2+
PUBLIC
3+
CREATE PUBLIC .
4+
5+
PUBLIC SECTION.
6+
7+
INTERFACES if_serializable_object .
8+
INTERFACES z2ui5_if_app .
9+
10+
DATA mv_initialized TYPE abap_bool.
11+
DATA mv_url TYPE string.
12+
13+
METHODS on_event.
14+
METHODS view_display.
15+
16+
PROTECTED SECTION.
17+
18+
DATA client TYPE REF TO z2ui5_if_client.
19+
20+
PRIVATE SECTION.
21+
ENDCLASS.
22+
23+
24+
25+
CLASS Z2UI5_CL_DEMO_APP_180 IMPLEMENTATION.
26+
27+
28+
METHOD on_event.
29+
30+
CASE client->get( )-event.
31+
32+
WHEN 'CUSTOM_JS_FROM_EB'.
33+
34+
client->follow_up_action( custom_js = `sap.z2ui5.afterBE()` ).
35+
36+
WHEN 'CALL_EF'.
37+
38+
mv_url = `https://www.google.com`.
39+
40+
client->view_model_update( ).
41+
42+
client->follow_up_action( custom_js = client->_event_client( val = client->cs_event-open_new_tab t_arg = VALUE #( ( mv_url ) ) ) ).
43+
44+
WHEN 'BACK'.
45+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
46+
RETURN.
47+
ENDCASE.
48+
49+
ENDMETHOD.
50+
51+
52+
METHOD view_display.
53+
54+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
55+
view->_generic( name = `script` ns = `html` )->_cc_plain_xml( `sap.z2ui5.afterBE = () => { alert("afterBE triggered !!"); }` ).
56+
57+
DATA(page) = view->shell( )->page( title = `Client->FOLLOW_UP_ACTION use cases` class = `sapUiContentPadding` ).
58+
page = page->vbox( ).
59+
page->button( text = `call frontend event from backend event` press = client->_event( `CALL_EF` ) ).
60+
page->label( text = `MV_URL was set AFTER backend event and model update to:` ).
61+
page->label( text = client->_bind_edit( mv_url ) ).
62+
63+
page->get_parent( )->hbox( class = `sapUiSmallMargin` ).
64+
* page = page->vbox( ).
65+
page->button( text = `call custom JS from EB` press = client->_event( 'CUSTOM_JS_FROM_EB' ) ).
66+
67+
68+
client->view_display( view->stringify( ) ).
69+
70+
ENDMETHOD.
71+
72+
73+
METHOD z2ui5_if_app~main.
74+
75+
me->client = client.
76+
77+
IF mv_initialized = abap_false.
78+
mv_initialized = abap_true.
79+
80+
view_display( ).
81+
82+
ENDIF.
83+
84+
on_event( ).
85+
86+
ENDMETHOD.
87+
ENDCLASS.

src/z2ui5_cl_demo_app_180.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_180</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>follow_up_action</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)