mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-30 19:06:17 +08:00

* refactoring and simplification * refactoring * refactoring * refactoring and clean up * refactoring * refactoring * refactoring * simplification * file upload/download * abaplint issues fix
96 lines
2.5 KiB
ABAP
96 lines
2.5 KiB
ABAP
CLASS z2ui5_cl_app_demo_20 DEFINITION PUBLIC.
|
|
|
|
PUBLIC SECTION.
|
|
|
|
INTERFACES z2ui5_if_app.
|
|
|
|
CLASS-METHODS factory
|
|
IMPORTING
|
|
i_text TYPE string
|
|
i_cancel_text TYPE string
|
|
i_cancel_event TYPE string
|
|
i_confirm_text TYPE string
|
|
i_confirm_event TYPE string
|
|
i_check_show_previous_view TYPE abap_bool DEFAULT abap_true
|
|
RETURNING
|
|
VALUE(result) TYPE REF TO z2ui5_cl_app_demo_20.
|
|
|
|
DATA check_initialized TYPE abap_bool.
|
|
|
|
DATA mv_text TYPE string.
|
|
DATA mv_cancel_text TYPE string.
|
|
DATA mv_cancel_event TYPE string.
|
|
DATA mv_confirm_text TYPE string.
|
|
DATA mv_confirm_event TYPE string.
|
|
DATA mv_check_show_previous_view TYPE abap_bool.
|
|
|
|
PROTECTED SECTION.
|
|
PRIVATE SECTION.
|
|
ENDCLASS.
|
|
|
|
|
|
|
|
CLASS Z2UI5_CL_APP_DEMO_20 IMPLEMENTATION.
|
|
|
|
|
|
METHOD factory.
|
|
|
|
result = NEW #( ).
|
|
|
|
result->mv_text = i_text.
|
|
result->mv_cancel_text = i_cancel_text.
|
|
result->mv_cancel_event = i_cancel_event.
|
|
result->mv_confirm_text = i_confirm_text.
|
|
result->mv_confirm_event = i_confirm_event.
|
|
result->mv_check_show_previous_view = i_check_show_previous_view.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD z2ui5_if_app~controller.
|
|
|
|
CASE client->get( )-lifecycle_method.
|
|
|
|
WHEN client->cs-lifecycle_method-on_event.
|
|
|
|
IF check_initialized = abap_false.
|
|
|
|
check_initialized = abap_true.
|
|
client->set( set_prev_view = mv_check_show_previous_view ).
|
|
client->popup_view( 'POPUP_DECIDE' ).
|
|
|
|
ENDIF.
|
|
|
|
|
|
CASE client->get( )-event.
|
|
|
|
WHEN mv_cancel_event OR mv_confirm_event.
|
|
|
|
client->set( event = client->get( )-event ).
|
|
client->nav_app_leave( client->get( )-id_prev_app_stack ).
|
|
|
|
ENDCASE.
|
|
|
|
|
|
WHEN client->cs-lifecycle_method-on_rendering.
|
|
|
|
client->factory_view( 'POPUP_DECIDE'
|
|
)->dialog( 'abap2UI5 - Popup to decide'
|
|
)->vbox(
|
|
)->text( mv_text )->get_parent(
|
|
)->footer(
|
|
)->overflow_toolbar(
|
|
)->toolbar_spacer(
|
|
)->button(
|
|
text = mv_cancel_text
|
|
press = client->_event( mv_cancel_event )
|
|
)->button(
|
|
text = mv_confirm_text
|
|
press = client->_event( mv_confirm_event )
|
|
type = 'Emphasized' ).
|
|
|
|
ENDCASE.
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|