diff --git a/src/00/z2ui5_cl_app_demo_00.clas.abap b/src/00/z2ui5_cl_app_demo_00.clas.abap index c7317b1f..31fdc939 100644 --- a/src/00/z2ui5_cl_app_demo_00.clas.abap +++ b/src/00/z2ui5_cl_app_demo_00.clas.abap @@ -10,7 +10,7 @@ ENDCLASS. -CLASS Z2UI5_CL_APP_DEMO_00 IMPLEMENTATION. +CLASS z2ui5_cl_app_demo_00 IMPLEMENTATION. METHOD z2ui5_if_app~controller. @@ -33,7 +33,6 @@ CLASS Z2UI5_CL_APP_DEMO_00 IMPLEMENTATION. ENDCASE. - DATA(page) = z2ui5_cl_xml_view_helper=>factory( )->page( title = 'abap2UI5 - Demo Section' diff --git a/src/00/z2ui5_cl_app_demo_07.clas.abap b/src/00/z2ui5_cl_app_demo_07.clas.abap index e6289c1d..666a67a8 100644 --- a/src/00/z2ui5_cl_app_demo_07.clas.abap +++ b/src/00/z2ui5_cl_app_demo_07.clas.abap @@ -7,8 +7,8 @@ CLASS z2ui5_cl_app_demo_07 DEFINITION PUBLIC. DATA mv_path TYPE string. DATA mv_value TYPE string. - DATA mv_popup_view TYPE string. - + " DATA mv_popup_view TYPE string. + " DATA check_initialized TYPE abap_bool. TYPES: BEGIN OF ty_file, selkz TYPE abap_bool, @@ -22,23 +22,100 @@ CLASS z2ui5_cl_app_demo_07 DEFINITION PUBLIC. DATA mt_file TYPE STANDARD TABLE OF ty_file WITH EMPTY KEY. DATA ms_file_edit TYPE ty_file. DATA ms_file_prev TYPE ty_file. - data mv_set_prev_view type abap_bool. + " DATA mv_set_prev_view TYPE abap_bool. + PROTECTED SECTION. + + DATA client TYPE REF TO z2ui5_if_client. + DATA: + BEGIN OF app, + check_initialized TYPE abap_bool, + view_main TYPE string, + view_popup TYPE string, + get TYPE z2ui5_if_client=>ty_s_get, + next TYPE z2ui5_if_client=>ty_s_next, + END OF app. + METHODS ui5_on_init. + METHODS ui5_on_event. + + METHODS ui5_render_view_main + RETURNING + VALUE(r_result) TYPE string. + + METHODS ui5_render_view_init + RETURNING + VALUE(r_result) TYPE string. + + METHODS ui5_render_popup_descr + RETURNING + VALUE(r_result) TYPE string. + + METHODS ui5_render_popup_data + RETURNING + VALUE(r_result) TYPE string. + + METHODS ui5_get_ccontrol_file_upload + RETURNING + VALUE(result) TYPE string. + PRIVATE SECTION. ENDCLASS. -CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION. +CLASS z2ui5_cl_app_demo_07 IMPLEMENTATION. METHOD z2ui5_if_app~controller. - mv_popup_view = ''. - mv_set_prev_view = ''. + me->client = client. + app-get = client->get( ). + app-view_popup = ``. + + IF app-check_initialized = abap_false. + app-check_initialized = abap_true. + ui5_on_init( ). + ENDIF. + + IF app-get-event IS NOT INITIAL. + ui5_on_event( ). + ENDIF. + + CASE app-view_main. + WHEN 'INIT'. + app-next-xml_main = ui5_render_view_init( ). + WHEN 'MAIN'. + app-next-xml_main = ui5_render_view_main( ). + ENDCASE. + + CASE app-view_popup. + WHEN 'DESCR'. + app-next-xml_popup = ui5_render_popup_descr( ). + WHEN 'DATA'. + app-next-xml_popup = ui5_render_popup_data( ). + ENDCASE. + + client->set_next( app-next ). + CLEAR app-get. + CLEAR app-next. + + ENDMETHOD. + + METHOD ui5_on_init. + + app-view_main = 'INIT'. + client->popup_message_toast( 'Custom Control for File Upload loaded' ). + + ENDMETHOD. + + + METHOD ui5_on_event. CASE client->get( )-event. + WHEN 'START'. + app-view_main = 'MAIN'. + WHEN 'DISPLAY'. ms_file_prev = mt_file[ selkz = abap_true ]. @@ -58,22 +135,56 @@ CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION. WHEN 'POPUP_DESCR'. ms_file_edit = mt_file[ selkz = abap_true ]. - mv_popup_view = 'POPUP_DESCR'. - mv_set_prev_view = abap_true. + app-view_popup = 'DESCR'. + app-next-check_set_prev_view = abap_true. WHEN 'POPUP_DATA'. ms_file_edit = mt_file[ selkz = abap_true ]. - mv_popup_view = 'POPUP_DATA'. - mv_set_prev_view = abap_true. + app-view_popup = 'DATA'. + app-next-check_set_prev_view = abap_true. WHEN 'BACK'. client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ). ENDCASE. + ENDMETHOD. - DATA(lo_main) = z2ui5_cl_xml_view_helper=>factory( ). - DATA(page) = lo_main->page( + + METHOD ui5_render_view_init. + + DATA(lo_view) = z2ui5_cl_xml_view_helper=>factory( check_shell = abap_false ns = VALUE #( + ( `xmlns:mvc="sap.ui.core.mvc"` ) + ( `xmlns:m="sap.m"` ) + ( `xmlns:z2ui5="z2ui5"` ) + ( `xmlns:core="sap.ui.core"` ) + ( `xmlns="http://www.w3.org/1999/xhtml"` ) + ) ). + + DATA(page) = lo_view->_generic( name = 'Shell' ns = 'm' )->page( + ns = 'm' + title = 'abap2UI5 - File Upload/Download' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = abap_true + )->header_content( ns = 'm' + )->toolbar_spacer( ns = 'm' + )->link( ns = 'm' text = 'Demo' href = 'https://twitter.com/OblomovDev/status/1638487600930357248' + )->link( ns = 'm' text = 'Source_Code' href = client->get( )-url_source_code + )->get_parent( ). + + page->text( ns = 'm' text = 'Custom Control for File Upload is now loaded.' + )->button( ns = 'm' text = 'continue' press = client->_event( 'START' ) + )->zz_plain( ` ` + ). + + r_result = lo_view->get_root( )->xml_get( ). + + ENDMETHOD. + + + METHOD ui5_render_view_main. + + DATA(page) = z2ui5_cl_xml_view_helper=>factory( )->page( title = 'abap2UI5 - File Upload/Download' navbuttonpress = client->_event( 'BACK' ) shownavbutton = abap_true @@ -121,64 +232,175 @@ CLASS Z2UI5_CL_APP_DEMO_07 IMPLEMENTATION. )->text( '{DESCR}' ). IF ms_file_prev-data IS NOT INITIAL. - page->zz_html( '