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

* Update README.md * fix table maintenance * bugfixes scroll container * bugfix demo boxes on small devices * bugfix popup * add table toolbar * bugfix flow logic * bugfixes flow and popup * bugfix landing page * refactoring type * bug url creation * cleanup constants * theme, ui5 path configuration * abalint issues * cleanup constants * cleanup constants * abaplint issues
124 lines
3.8 KiB
ABAP
124 lines
3.8 KiB
ABAP
CLASS z2ui5_cl_app_demo_25 DEFINITION PUBLIC.
|
|
|
|
PUBLIC SECTION.
|
|
|
|
INTERFACES z2ui5_if_app.
|
|
CLASS-METHODS factory
|
|
IMPORTING
|
|
i_app TYPE REF TO z2ui5_if_app
|
|
i_name_attri TYPE string
|
|
RETURNING
|
|
VALUE(r_result) TYPE REF TO z2ui5_cl_app_demo_25.
|
|
|
|
|
|
DATA mv_input TYPE string.
|
|
DATA mv_input_previous TYPE string.
|
|
DATA mv_input_previous_set TYPE string.
|
|
|
|
DATA mo_app TYPE REF TO z2ui5_if_app.
|
|
DATA mv_name_attri TYPE string.
|
|
|
|
PROTECTED SECTION.
|
|
PRIVATE SECTION.
|
|
ENDCLASS.
|
|
|
|
|
|
|
|
CLASS Z2UI5_CL_APP_DEMO_25 IMPLEMENTATION.
|
|
|
|
|
|
METHOD factory.
|
|
|
|
r_result = NEW #( ).
|
|
r_result->mo_app = i_app.
|
|
r_result->mv_name_attri = i_name_attri.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD z2ui5_if_app~controller.
|
|
|
|
CASE client->get( )-lifecycle_method.
|
|
|
|
WHEN client->cs-lifecycle_method-on_event.
|
|
|
|
CASE client->get( )-event.
|
|
|
|
WHEN 'BUTTON_ROUNDTRIP'.
|
|
client->popup_message_box( 'server-client roundtrip, method on_event of the abap controller was called' ).
|
|
|
|
WHEN 'BUTTON_RESTART'.
|
|
client->nav_app_call( NEW z2ui5_cl_app_demo_25( ) ).
|
|
|
|
WHEN 'BUTTON_CHANGE_APP'.
|
|
client->nav_app_call( NEW z2ui5_cl_app_demo_01( ) ).
|
|
|
|
WHEN 'BUTTON_READ_PREVIOUS'.
|
|
DATA(lo_previous_app) = CAST z2ui5_cl_app_demo_24( client->get_app_by_id( client->get( )-id_prev_app ) ).
|
|
mv_input_previous = lo_previous_app->mv_input2.
|
|
client->popup_message_toast( `data of previous app read` ).
|
|
|
|
WHEN 'NEW_APP_EVENT'.
|
|
client->popup_message_box( 'new app called and event NEW_APP_EVENT raised' ).
|
|
|
|
WHEN 'SHOW_VIEW_MAIN'.
|
|
client->show_view( 'MAIN' ).
|
|
|
|
WHEN 'BACK_WITH_EVENT'.
|
|
client->nav_app_leave( client->get( )-id_prev_app_stack ).
|
|
client->set( event = 'CALL_PREVIOUS_APP_INPUT_RETURN' ).
|
|
|
|
WHEN 'BACK'.
|
|
client->nav_app_leave( client->get( )-id_prev_app_stack ).
|
|
|
|
ENDCASE.
|
|
|
|
WHEN client->cs-lifecycle_method-on_rendering.
|
|
|
|
DATA(page) = client->factory_view( 'MAIN'
|
|
)->page(
|
|
title = 'abap2UI5 - flow logic - APP 02'
|
|
navbuttonpress = client->_event( 'BACK' )
|
|
)->header_content(
|
|
)->link(
|
|
text = 'Source_Code'
|
|
href = client->get( )-s_request-url_source_code
|
|
)->get_parent( ).
|
|
|
|
page->grid( 'L6 M12 S12' )->content( 'l'
|
|
|
|
)->simple_form( 'View: FIRST' )->content( 'f'
|
|
|
|
)->label( 'Input set by previous app'
|
|
)->input( mv_input_previous_set
|
|
|
|
)->label( 'Data of previous app'
|
|
)->input( mv_input_previous
|
|
)->button( text = 'read' press = client->_event( 'BUTTON_READ_PREVIOUS' )
|
|
|
|
)->label( 'Call previous app and show data of this app'
|
|
)->input( client->_bind( mv_input )
|
|
)->button( text = 'back' press = client->_event( 'BACK_WITH_EVENT' ) ).
|
|
|
|
page = client->factory_view( 'SECOND'
|
|
)->page(
|
|
title = 'abap2UI5 - flow logic - APP 02'
|
|
navbuttonpress = client->_event( 'BACK' )
|
|
)->header_content(
|
|
)->link(
|
|
text = 'Source_Code'
|
|
href = client->get( )-s_request-url_source_code
|
|
)->get_parent( ).
|
|
|
|
page->grid( 'L6 M12 S12' )->content( 'l'
|
|
)->simple_form( 'View: SECOND' )->content( 'f'
|
|
)->label( 'Demo'
|
|
)->button( text = 'leave to previous app' press = client->_event( 'BACK' )
|
|
)->label( 'Demo'
|
|
)->button( text = 'show view main' press = client->_event( 'SHOW_VIEW_MAIN' ) ).
|
|
|
|
ENDCASE.
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|