Skip to content

Commit 8d9456b

Browse files
authored
wizard step subsequentStep & nextStep (#212)
1 parent 428c886 commit 8d9456b

File tree

2 files changed

+128
-0
lines changed

2 files changed

+128
-0
lines changed

src/z2ui5_cl_demo_app_202.clas.abap

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
class Z2UI5_CL_DEMO_APP_202 definition
2+
public
3+
final
4+
create public .
5+
6+
public section.
7+
8+
interfaces IF_SERIALIZABLE_OBJECT .
9+
interfaces Z2UI5_IF_APP .
10+
11+
data AV_NEXT type STRING value 'Step22' ##NO_TEXT.
12+
data AV_INIT type ABAP_BOOL .
13+
PROTECTED SECTION.
14+
METHODS display_view
15+
IMPORTING
16+
client TYPE REF TO z2ui5_if_client.
17+
PRIVATE SECTION.
18+
ENDCLASS.
19+
20+
21+
22+
CLASS Z2UI5_CL_DEMO_APP_202 IMPLEMENTATION.
23+
24+
25+
METHOD display_view.
26+
27+
DATA(lr_view) = z2ui5_cl_xml_view=>factory( ).
28+
29+
lr_view->_generic( name = `script` ns = `html` )->_cc_plain_xml( `sap.z2ui5.decideNextStep = (stepId, nextStepId) => {debugger;` && |\n| &&
30+
` var wiz = sap.z2ui5.oView.byId('wiz');` && |\n| &&
31+
` wiz.discardProgress(sap.z2ui5.oView.byId('STEP2'));` && |\n| &&
32+
` var step = sap.z2ui5.oView.byId(stepId);` && |\n| &&
33+
` var nextStep = sap.z2ui5.oView.byId(nextStepId);` && |\n| &&
34+
` step.setNextStep(nextStep);` && |\n| &&
35+
`}` ).
36+
37+
lr_view = lr_view->shell( )->page( id = `page_main`
38+
title = 'abap2UI5 - Demo Wizard Control'
39+
navbuttonpress = client->_event( 'BACK' )
40+
shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ).
41+
42+
DATA(lr_wizard) = lr_view->wizard( id = `wiz` enablebranching = abap_true ).
43+
DATA(lr_wiz_step1) = lr_wizard->wizard_step( title = 'STEP1' validated = abap_true nextstep = 'STEP2' ).
44+
lr_wiz_step1->message_strip( text = 'STEP1' ).
45+
46+
47+
DATA(lr_wiz_step2) = lr_wizard->wizard_step( id = 'STEP2'
48+
title = `STEP2`
49+
validated = abap_true
50+
subsequentSteps = 'STEP22, STEP23'
51+
).
52+
53+
lr_wiz_step2->message_strip( text = `STEP2` ).
54+
lr_wiz_step2->button(
55+
* EXPORTING
56+
text = `Press Step 2.2`
57+
press = client->_event('STEP22' ) ).
58+
lr_wiz_step2->button(
59+
* EXPORTING
60+
text = `Press Step 2.3`
61+
press = client->_event(`STEP23` ) ).
62+
63+
64+
DATA(lr_wiz_step22) = lr_wizard->wizard_step( id = `STEP22`
65+
title = `STEP2.2`
66+
validated = abap_true ).
67+
68+
lr_wiz_step22->message_strip( text = 'STEP22' ).
69+
70+
71+
DATA(lr_wiz_step23) = lr_wizard->wizard_step( id = `STEP23`
72+
title = `STEP2.3`
73+
validated = abap_true ).
74+
75+
lr_wiz_step23->message_strip( text = 'STEP23' ).
76+
77+
78+
DATA(lr_wiz_step3) = lr_wizard->wizard_step( title = `STEP3`
79+
validated = abap_true ).
80+
81+
lr_wiz_step3->message_strip( text = 'STEP3' ).
82+
83+
*
84+
client->view_display( lr_view->stringify( ) ).
85+
86+
ENDMETHOD.
87+
88+
89+
METHOD z2ui5_if_app~main.
90+
91+
IF av_init = abap_false.
92+
display_view( client ).
93+
av_init = 'X'.
94+
RETURN.
95+
ENDIF.
96+
97+
98+
CASE client->get( )-event.
99+
WHEN 'BACK'.
100+
client->nav_app_leave( ).
101+
WHEN 'STEP22'.
102+
103+
client->follow_up_action( val = 'sap.z2ui5.decideNextStep(`STEP2`,`STEP22`);' ).
104+
105+
WHEN 'STEP23'.
106+
107+
client->follow_up_action( val = 'sap.z2ui5.decideNextStep(`STEP2`,`STEP23`);' ).
108+
109+
ENDCASE.
110+
client->view_model_update( ).
111+
ENDMETHOD.
112+
ENDCLASS.

src/z2ui5_cl_demo_app_202.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_202</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>wizard - nextStep &amp; subseequentStetps</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)