From b5847dba8398d6f808ada44d0918442fcfe1117a Mon Sep 17 00:00:00 2001 From: choper725 Date: Tue, 11 Jun 2024 21:31:50 +0000 Subject: [PATCH 1/2] wizard step subsequentStep & nextStep --- src/z2ui5_cl_demo_app_202.clas.abap | 112 ++++++++++++++++++++++++++++ src/z2ui5_cl_demo_app_202.clas.xml | 16 ++++ 2 files changed, 128 insertions(+) create mode 100644 src/z2ui5_cl_demo_app_202.clas.abap create mode 100644 src/z2ui5_cl_demo_app_202.clas.xml diff --git a/src/z2ui5_cl_demo_app_202.clas.abap b/src/z2ui5_cl_demo_app_202.clas.abap new file mode 100644 index 00000000..5e037bb8 --- /dev/null +++ b/src/z2ui5_cl_demo_app_202.clas.abap @@ -0,0 +1,112 @@ +class Z2UI5_CL_DEMO_APP_202 definition + public + final + create public . + +public section. + + interfaces IF_SERIALIZABLE_OBJECT . + interfaces Z2UI5_IF_APP . + + data AV_NEXT type STRING value 'Step22' ##NO_TEXT. + data AV_INIT type ABAP_BOOL . + PROTECTED SECTION. + METHODS display_view + IMPORTING + client TYPE REF TO z2ui5_if_client. + PRIVATE SECTION. +ENDCLASS. + + + +CLASS Z2UI5_CL_DEMO_APP_202 IMPLEMENTATION. + + + METHOD display_view. + + DATA(lr_view) = z2ui5_cl_xml_view=>factory( ). + + lr_view->_generic( name = `script` ns = `html` )->_cc_plain_xml( `sap.z2ui5.decideNextStep = (stepId, nextStepId) => {debugger;` && |\n| && + ` var wiz = sap.z2ui5.oView.byId('wiz');` && |\n| && + ` wiz.discardProgress(sap.z2ui5.oView.byId('STEP2'));` && |\n| && + ` var step = sap.z2ui5.oView.byId(stepId);` && |\n| && + ` var nextStep = sap.z2ui5.oView.byId(nextStepId);` && |\n| && + ` step.setNextStep(nextStep);` && |\n| && + `}` ). + + lr_view = lr_view->shell( )->page( id = `page_main` + title = 'abap2UI5 - Demo Wizard Control' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ). + + DATA(lr_wizard) = lr_view->wizard( id = `wiz` enablebranching = abap_true ). + DATA(lr_wiz_step1) = lr_wizard->wizard_step( title = 'STEP1' validated = abap_true nextstep = 'STEP2' ). + lr_wiz_step1->message_strip( text = 'STEP1' ). + + + DATA(lr_wiz_step2) = lr_wizard->wizard_step( id = 'STEP2' + title = `STEP2` + validated = abap_true + subsequentSteps = 'STEP22, STEP23' + ). + + lr_wiz_step2->message_strip( text = `STEP2` ). + lr_wiz_step2->button( +* EXPORTING + text = `Press Step 2.2` + press = client->_event('STEP22' ) ). + lr_wiz_step2->button( +* EXPORTING + text = `Press Step 2.3` + press = client->_event(`STEP23` ) ). + + + DATA(lr_wiz_step22) = lr_wizard->wizard_step( id = `STEP22` + title = `STEP2.2` + validated = abap_true ). + + lr_wiz_step22->message_strip( text = 'STEP22' ). + + + DATA(lr_wiz_step23) = lr_wizard->wizard_step( id = `STEP23` + title = `STEP2.3` + validated = abap_true ). + + lr_wiz_step23->message_strip( text = 'STEP23' ). + + + DATA(lr_wiz_step3) = lr_wizard->wizard_step( title = `STEP3` + validated = abap_true ). + + lr_wiz_step3->message_strip( text = 'STEP3' ). + +* + client->view_display( lr_view->stringify( ) ). + + ENDMETHOD. + + + METHOD z2ui5_if_app~main. + + IF av_init EQ abap_false. + display_view( client ). + av_init = 'X'. + RETURN. + ENDIF. + + + CASE client->get( )-event. + WHEN 'BACK'. + client->nav_app_leave( ). + WHEN 'STEP22'. + + client->follow_up_action( val = 'sap.z2ui5.decideNextStep(`STEP2`,`STEP22`);' ). + + WHEN 'STEP23'. + + client->follow_up_action( val = 'sap.z2ui5.decideNextStep(`STEP2`,`STEP23`);' ). + + ENDCASE. + client->view_model_update( ). + ENDMETHOD. +ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_202.clas.xml b/src/z2ui5_cl_demo_app_202.clas.xml new file mode 100644 index 00000000..92e19a83 --- /dev/null +++ b/src/z2ui5_cl_demo_app_202.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_DEMO_APP_202 + E + wizard - nextStep & subseequentStetps + 1 + X + X + X + + + + From 63040022fe3f803ac6a7792b0cd55d005b97c972 Mon Sep 17 00:00:00 2001 From: choper725 <129428114+choper725@users.noreply.github.com> Date: Wed, 12 Jun 2024 00:34:15 +0300 Subject: [PATCH 2/2] Update src/z2ui5_cl_demo_app_202.clas.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- src/z2ui5_cl_demo_app_202.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/z2ui5_cl_demo_app_202.clas.abap b/src/z2ui5_cl_demo_app_202.clas.abap index 5e037bb8..5c4f356c 100644 --- a/src/z2ui5_cl_demo_app_202.clas.abap +++ b/src/z2ui5_cl_demo_app_202.clas.abap @@ -88,7 +88,7 @@ CLASS Z2UI5_CL_DEMO_APP_202 IMPLEMENTATION. METHOD z2ui5_if_app~main. - IF av_init EQ abap_false. + IF av_init = abap_false. display_view( client ). av_init = 'X'. RETURN.