mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-30 14:46:10 +08:00
refactoring (#704)
* refactoring * unit tests * update * unit test deactivate
This commit is contained in:
parent
df5b9e2226
commit
574802e9a7
|
@ -74,29 +74,13 @@ CLASS z2ui5_cl_fw_handler DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
CLASS-METHODS set_app_start
|
CLASS-METHODS body_read_location.
|
||||||
RETURNING
|
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
|
||||||
|
|
||||||
CLASS-METHODS set_app_client
|
CLASS-METHODS _get_id
|
||||||
IMPORTING
|
|
||||||
id_prev TYPE clike
|
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS set_app_leave
|
CLASS-METHODS app_system_factory
|
||||||
IMPORTING
|
|
||||||
check_no_db_save TYPE abap_bool DEFAULT abap_false
|
|
||||||
RETURNING
|
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
|
||||||
|
|
||||||
METHODS set_app_call
|
|
||||||
IMPORTING
|
|
||||||
check_no_db_save TYPE abap_bool DEFAULT abap_false
|
|
||||||
RETURNING
|
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
|
||||||
|
|
||||||
CLASS-METHODS set_app_system
|
|
||||||
IMPORTING
|
IMPORTING
|
||||||
VALUE(ix) TYPE REF TO cx_root OPTIONAL
|
VALUE(ix) TYPE REF TO cx_root OPTIONAL
|
||||||
error_text TYPE string OPTIONAL
|
error_text TYPE string OPTIONAL
|
||||||
|
@ -104,22 +88,59 @@ CLASS z2ui5_cl_fw_handler DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
||||||
|
|
||||||
METHODS app_set_next
|
METHODS app_next_factory
|
||||||
IMPORTING
|
IMPORTING
|
||||||
app TYPE REF TO z2ui5_if_app
|
app TYPE REF TO z2ui5_if_app
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(r_result) TYPE REF TO z2ui5_cl_fw_handler.
|
VALUE(r_result) TYPE REF TO z2ui5_cl_fw_handler.
|
||||||
|
|
||||||
|
METHODS app_client_begin_event.
|
||||||
|
METHODS app_client_begin_model.
|
||||||
|
|
||||||
|
CLASS-METHODS app_start_factory
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
||||||
|
|
||||||
|
CLASS-METHODS app_client_begin_factory
|
||||||
|
IMPORTING
|
||||||
|
id_prev TYPE clike
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
||||||
|
|
||||||
|
METHODS app_leave_factory
|
||||||
|
IMPORTING
|
||||||
|
check_no_db_save TYPE abap_bool DEFAULT abap_false
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
||||||
|
|
||||||
|
METHODS app_call_factory
|
||||||
|
IMPORTING
|
||||||
|
check_no_db_save TYPE abap_bool DEFAULT abap_false
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE REF TO z2ui5_cl_fw_handler.
|
||||||
|
|
||||||
|
METHODS app_client_end_model
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_viewmodel) TYPE string.
|
||||||
|
|
||||||
|
METHODS app_client_end_response
|
||||||
|
IMPORTING
|
||||||
|
iv_viewmodel TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(r_result) TYPE string.
|
||||||
|
|
||||||
|
METHODS app_client_end_db.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
CLASS z2ui5_cl_fw_handler IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD app_set_next.
|
METHOD app_next_factory.
|
||||||
|
|
||||||
app->id = COND #( WHEN app->id IS INITIAL THEN z2ui5_cl_util_func=>func_get_uuid_32( ) ELSE app->id ).
|
app->id = COND #( WHEN app->id IS INITIAL THEN z2ui5_cl_util_func=>func_get_uuid_32( ) ELSE app->id ).
|
||||||
|
|
||||||
|
@ -141,13 +162,50 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD request_begin.
|
METHOD app_client_begin_event.
|
||||||
|
|
||||||
so_body = z2ui5_cl_util_tree_json=>factory( body ).
|
TRY.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
|
ASSIGN (`SO_BODY->MR_ACTUAL`) TO <any>.
|
||||||
|
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
||||||
|
ASSIGN (`<ANY>->ARGUMENTS`) TO <any>.
|
||||||
|
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
||||||
|
ASSIGN (`<ANY>->*`) TO <any>.
|
||||||
|
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <arg> TYPE STANDARD TABLE.
|
||||||
|
ASSIGN <any> TO <arg>.
|
||||||
|
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <arg_row> TYPE any.
|
||||||
|
LOOP AT <arg> ASSIGNING <arg_row>.
|
||||||
|
|
||||||
|
IF sy-tabix = 1.
|
||||||
|
FIELD-SYMBOLS <val> TYPE any.
|
||||||
|
ASSIGN (`<ARG_ROW>->EVENT->*`) TO <val>.
|
||||||
|
ms_actual-event = <val>.
|
||||||
|
ELSE.
|
||||||
|
ASSIGN <arg_row>->* TO <val>.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
|
INSERT CONV string( <val> ) INTO TABLE ms_actual-t_event_arg.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
CATCH cx_root.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD body_read_location.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(location) = so_body->get_attribute( `OLOCATION` ).
|
DATA(location) = so_body->get_attribute( `OLOCATION` ).
|
||||||
ss_config-body = body.
|
CATCH cx_root.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
ss_config-search = location->get_attribute( `SEARCH` )->get_val( ).
|
ss_config-search = location->get_attribute( `SEARCH` )->get_val( ).
|
||||||
|
@ -197,58 +255,29 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
CATCH cx_root.
|
ENDMETHOD.
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
|
METHOD request_begin.
|
||||||
|
|
||||||
|
ss_config-body = body.
|
||||||
|
so_body = z2ui5_cl_util_tree_json=>factory( ss_config-body ).
|
||||||
ss_config-view_model_edit_name = z2ui5_cl_fw_binding=>cv_model_edit_name.
|
ss_config-view_model_edit_name = z2ui5_cl_fw_binding=>cv_model_edit_name.
|
||||||
|
body_read_location( ).
|
||||||
|
|
||||||
|
DATA(lv_id_prev) = _get_id( ).
|
||||||
TRY.
|
|
||||||
DATA(lv_id_prev) = so_body->get_attribute( `ID` )->get_val( ).
|
|
||||||
CATCH cx_root.
|
|
||||||
ENDTRY.
|
|
||||||
IF lv_id_prev IS INITIAL.
|
IF lv_id_prev IS INITIAL.
|
||||||
result = set_app_start( ).
|
result = app_start_factory( ).
|
||||||
result->ms_actual-check_on_navigated = abap_true.
|
result->ms_actual-check_on_navigated = abap_true.
|
||||||
ELSE.
|
ELSE.
|
||||||
result = set_app_client( lv_id_prev ).
|
result = app_client_begin_factory( lv_id_prev ).
|
||||||
|
result->app_client_begin_model( ).
|
||||||
|
result->app_client_begin_event( ).
|
||||||
result->ms_actual-check_on_navigated = abap_false.
|
result->ms_actual-check_on_navigated = abap_false.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
result->ms_db-check_attri = abap_false.
|
result->ms_db-check_attri = abap_false.
|
||||||
|
|
||||||
TRY.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
|
||||||
ASSIGN (`SO_BODY->MR_ACTUAL`) TO <any>.
|
|
||||||
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
|
||||||
ASSIGN (`<ANY>->ARGUMENTS`) TO <any>.
|
|
||||||
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
|
||||||
ASSIGN (`<ANY>->*`) TO <any>.
|
|
||||||
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <arg> TYPE STANDARD TABLE.
|
|
||||||
ASSIGN <any> TO <arg>.
|
|
||||||
z2ui5_cl_util_func=>x_check_raise( xsdbool( sy-subrc <> 0 ) ).
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <arg_row> TYPE any.
|
|
||||||
LOOP AT <arg> ASSIGNING <arg_row>.
|
|
||||||
|
|
||||||
IF sy-tabix = 1.
|
|
||||||
FIELD-SYMBOLS <val> TYPE any.
|
|
||||||
ASSIGN (`<ARG_ROW>->EVENT->*`) TO <val>.
|
|
||||||
result->ms_actual-event = <val>.
|
|
||||||
ELSE.
|
|
||||||
ASSIGN <arg_row>->* TO <val>.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
CONTINUE.
|
|
||||||
ENDIF.
|
|
||||||
INSERT CONV string( <val> ) INTO TABLE result->ms_actual-t_event_arg.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
CATCH cx_root.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
IF ss_config-search CS `scenario=LAUNCHPAD`.
|
IF ss_config-search CS `scenario=LAUNCHPAD`.
|
||||||
result->ms_actual-check_launchpad_active = abap_true.
|
result->ms_actual-check_launchpad_active = abap_true.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -258,35 +287,16 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD request_end.
|
METHOD request_end.
|
||||||
|
|
||||||
DATA(lo_resp) = z2ui5_cl_util_tree_json=>factory( ).
|
DATA(lv_viewmodel) = app_client_end_model( ).
|
||||||
|
result = app_client_end_response( lv_viewmodel ).
|
||||||
DATA(lo_binder) = z2ui5_cl_fw_model=>factory(
|
app_client_end_db( ).
|
||||||
viewname = ms_actual-viewname
|
|
||||||
app = ms_db-app
|
|
||||||
attri = ms_db-t_attri ).
|
|
||||||
|
|
||||||
DATA(lv_viewmodel) = lo_binder->main_set_frontend( ).
|
|
||||||
|
|
||||||
lo_resp->add_attribute( n = `OVIEWMODEL`
|
|
||||||
v = lv_viewmodel
|
|
||||||
apos_active = abap_false ).
|
|
||||||
|
|
||||||
lo_resp->add_attribute( n = `PARAMS`
|
|
||||||
v = z2ui5_cl_util_func=>trans_json_any_2( ms_next-s_set )
|
|
||||||
apos_active = abap_false ).
|
|
||||||
|
|
||||||
lo_resp->add_attribute( n = `ID`
|
|
||||||
v = ms_db-id ).
|
|
||||||
|
|
||||||
result = lo_resp->mo_root->stringify( ).
|
|
||||||
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_app_call.
|
METHOD app_call_factory.
|
||||||
|
|
||||||
result = app_set_next( ms_next-o_app_call ).
|
result = app_next_factory( ms_next-o_app_call ).
|
||||||
result->ms_db-id_prev_app_stack = ms_db-id.
|
result->ms_db-id_prev_app_stack = ms_db-id.
|
||||||
|
|
||||||
CLEAR ms_next.
|
CLEAR ms_next.
|
||||||
|
@ -299,7 +309,7 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_app_client.
|
METHOD app_client_begin_factory.
|
||||||
|
|
||||||
result = NEW #( ).
|
result = NEW #( ).
|
||||||
result->ms_db = z2ui5_cl_fw_db=>load_app( id_prev ).
|
result->ms_db = z2ui5_cl_fw_db=>load_app( id_prev ).
|
||||||
|
@ -311,24 +321,12 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
TRY.
|
|
||||||
DATA(lo_model) = z2ui5_cl_fw_model=>factory(
|
|
||||||
viewname = result->ms_actual-viewname
|
|
||||||
app = result->ms_db-app
|
|
||||||
attri = result->ms_db-t_attri ).
|
|
||||||
|
|
||||||
lo_model->main_set_backend(
|
|
||||||
so_body->get_attribute( ss_config-view_model_edit_name )->mr_actual ).
|
|
||||||
|
|
||||||
CATCH cx_root.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_app_leave.
|
METHOD app_leave_factory.
|
||||||
|
|
||||||
result = app_set_next( ms_next-o_app_leave ).
|
result = app_next_factory( ms_next-o_app_leave ).
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(ls_draft) = z2ui5_cl_fw_db=>read( id = result->ms_db-id check_load_app = abap_false ).
|
DATA(ls_draft) = z2ui5_cl_fw_db=>read( id = result->ms_db-id check_load_app = abap_false ).
|
||||||
|
@ -342,12 +340,10 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
* CLEAR result->ms_db-t_attri.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_app_start.
|
METHOD app_start_factory.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lv_classname) = to_upper( so_body->get_attribute( `APP_START` )->get_val( ) ).
|
DATA(lv_classname) = to_upper( so_body->get_attribute( `APP_START` )->get_val( ) ).
|
||||||
|
@ -363,7 +359,7 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF lv_classname IS INITIAL.
|
IF lv_classname IS INITIAL.
|
||||||
result = set_app_system( ).
|
result = app_system_factory( ).
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -376,13 +372,13 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
result->ms_db-app->id = result->ms_db-id.
|
result->ms_db-app->id = result->ms_db-id.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
result = set_app_system( error_text = `App with name ` && lv_classname && ` not found...` ).
|
result = app_system_factory( error_text = `App with name ` && lv_classname && ` not found...` ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_app_system.
|
METHOD app_system_factory.
|
||||||
|
|
||||||
result = NEW #( ).
|
result = NEW #( ).
|
||||||
result->ms_db-id = z2ui5_cl_util_func=>func_get_uuid_32( ).
|
result->ms_db-id = z2ui5_cl_util_func=>func_get_uuid_32( ).
|
||||||
|
@ -393,7 +389,7 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
|
|
||||||
IF ix IS BOUND.
|
IF ix IS BOUND.
|
||||||
result->ms_next-o_app_call = z2ui5_cl_fw_app_error=>factory( ix ).
|
result->ms_next-o_app_call = z2ui5_cl_fw_app_error=>factory( ix ).
|
||||||
result = result->set_app_call( abap_true ).
|
result = result->app_call_factory( abap_true ).
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -401,4 +397,70 @@ CLASS Z2UI5_CL_FW_HANDLER IMPLEMENTATION.
|
||||||
result->ms_db-app->id = result->ms_db-id.
|
result->ms_db-app->id = result->ms_db-id.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD app_client_begin_model.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
DATA(lo_model) = z2ui5_cl_fw_model=>factory(
|
||||||
|
viewname = ms_actual-viewname
|
||||||
|
app = ms_db-app
|
||||||
|
attri = ms_db-t_attri ).
|
||||||
|
|
||||||
|
lo_model->main_set_backend(
|
||||||
|
so_body->get_attribute( ss_config-view_model_edit_name )->mr_actual ).
|
||||||
|
|
||||||
|
CATCH cx_root.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD _get_id.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
result = so_body->get_attribute( `ID` )->get_val( ).
|
||||||
|
CATCH cx_root.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD app_client_end_model.
|
||||||
|
|
||||||
|
DATA(lo_binder) = z2ui5_cl_fw_model=>factory(
|
||||||
|
viewname = ms_actual-viewname
|
||||||
|
app = ms_db-app
|
||||||
|
attri = ms_db-t_attri ).
|
||||||
|
|
||||||
|
rv_viewmodel = lo_binder->main_set_frontend( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD app_client_end_response.
|
||||||
|
|
||||||
|
DATA(lo_resp) = z2ui5_cl_util_tree_json=>factory( ).
|
||||||
|
|
||||||
|
lo_resp->add_attribute( n = `OVIEWMODEL`
|
||||||
|
v = iv_viewmodel
|
||||||
|
apos_active = abap_false ).
|
||||||
|
|
||||||
|
lo_resp->add_attribute( n = `PARAMS`
|
||||||
|
v = z2ui5_cl_util_func=>trans_json_any_2( ms_next-s_set )
|
||||||
|
apos_active = abap_false ).
|
||||||
|
|
||||||
|
lo_resp->add_attribute( n = `ID`
|
||||||
|
v = ms_db-id ).
|
||||||
|
|
||||||
|
r_result = lo_resp->mo_root->stringify( ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD app_client_end_db.
|
||||||
|
|
||||||
|
z2ui5_cl_fw_db=>create( id = ms_db-id db = ms_db ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -547,7 +547,7 @@ CLASS z2ui5_cl_fw_http_handler IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lo_handler) = z2ui5_cl_fw_handler=>request_begin( body ).
|
DATA(lo_handler) = z2ui5_cl_fw_handler=>request_begin( body ).
|
||||||
CATCH cx_root INTO DATA(x).
|
CATCH cx_root INTO DATA(x).
|
||||||
lo_handler = z2ui5_cl_fw_handler=>set_app_system( x ).
|
lo_handler = z2ui5_cl_fw_handler=>app_system_factory( x ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
DO.
|
DO.
|
||||||
|
@ -558,19 +558,19 @@ CLASS z2ui5_cl_fw_http_handler IMPLEMENTATION.
|
||||||
ROLLBACK WORK.
|
ROLLBACK WORK.
|
||||||
|
|
||||||
IF lo_handler->ms_next-o_app_leave IS NOT INITIAL.
|
IF lo_handler->ms_next-o_app_leave IS NOT INITIAL.
|
||||||
lo_handler = lo_handler->set_app_leave( ).
|
lo_handler = lo_handler->app_leave_factory( ).
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF lo_handler->ms_next-o_app_call IS NOT INITIAL.
|
IF lo_handler->ms_next-o_app_call IS NOT INITIAL.
|
||||||
lo_handler = lo_handler->set_app_call( ).
|
lo_handler = lo_handler->app_call_factory( ).
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
result = lo_handler->request_end( ).
|
result = lo_handler->request_end( ).
|
||||||
|
|
||||||
CATCH cx_root INTO x.
|
CATCH cx_root INTO x.
|
||||||
lo_handler = z2ui5_cl_fw_handler=>set_app_system( x ).
|
lo_handler = z2ui5_cl_fw_handler=>app_system_factory( x ).
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ CLASS z2ui5_cl_cc__factory_fw IMPLEMENTATION.
|
||||||
z2ui5_cl_cc_title=>get_js( ) &&
|
z2ui5_cl_cc_title=>get_js( ) &&
|
||||||
z2ui5_cl_cc_history=>get_js( ) &&
|
z2ui5_cl_cc_history=>get_js( ) &&
|
||||||
z2ui5_cl_cc_scrolling=>get_js( ) &&
|
z2ui5_cl_cc_scrolling=>get_js( ) &&
|
||||||
z2ui5_cl_cc_info=>get_js( ) &&
|
z2ui5_cl_cc_info_frontend=>get_js( ) &&
|
||||||
z2ui5_cl_cc_geolocation=>get_js( ) &&
|
z2ui5_cl_cc_geolocation=>get_js( ) &&
|
||||||
z2ui5_cl_cc_file_uploader=>get_js( ) &&
|
z2ui5_cl_cc_file_uploader=>get_js( ) &&
|
||||||
z2ui5_cl_cc_messaging=>get_js( ).
|
z2ui5_cl_cc_messaging=>get_js( ).
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
CLASS z2ui5_cl_cc_info DEFINITION
|
CLASS z2ui5_cl_cc_info_frontend DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
FINAL
|
FINAL
|
||||||
CREATE PUBLIC .
|
CREATE PUBLIC .
|
||||||
|
@ -15,7 +15,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_CC_INFO IMPLEMENTATION.
|
CLASS Z2UI5_CL_CC_INFO_FRONTEND IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_js.
|
METHOD get_js.
|
|
@ -3,7 +3,7 @@
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
<asx:values>
|
<asx:values>
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_CC_INFO</CLSNAME>
|
<CLSNAME>Z2UI5_CL_CC_INFO_FRONTEND</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>cc - frontend info</DESCRIPT>
|
<DESCRIPT>cc - frontend info</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
|
@ -15,7 +15,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_cc_camera_picture IMPLEMENTATION.
|
CLASS Z2UI5_CL_CC_CAMERA_PICTURE IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_js.
|
METHOD get_js.
|
||||||
|
@ -100,11 +100,10 @@ CLASS z2ui5_cl_cc_camera_picture IMPLEMENTATION.
|
||||||
` var video = document.querySelector('#zvideo');` && |\n| &&
|
` var video = document.querySelector('#zvideo');` && |\n| &&
|
||||||
` if (navigator.mediaDevices.getUserMedia) {` && |\n| &&
|
` if (navigator.mediaDevices.getUserMedia) {` && |\n| &&
|
||||||
` navigator.mediaDevices.getUserMedia({video: { facingMode: { exact: "environment" } } })` && |\n| &&
|
` navigator.mediaDevices.getUserMedia({video: { facingMode: { exact: "environment" } } })` && |\n| &&
|
||||||
` // navigator.mediaDevices.enumerateDevices({ video: true })` && |\n| &&
|
|
||||||
` .then(function (stream) {` && |\n| &&
|
` .then(function (stream) {` && |\n| &&
|
||||||
` debugger; video.srcObject = stream;` && |\n| &&
|
` video.srcObject = stream;` && |\n| &&
|
||||||
` })` && |\n| &&
|
` })` && |\n| &&
|
||||||
` .catch(function (err0r) {` && |\n| &&
|
` .catch(function (error) {` && |\n| &&
|
||||||
` console.log("Something went wrong!");` && |\n| &&
|
` console.log("Something went wrong!");` && |\n| &&
|
||||||
` });` && |\n| &&
|
` });` && |\n| &&
|
||||||
` }` && |\n| &&
|
` }` && |\n| &&
|
||||||
|
|
|
@ -254,81 +254,87 @@ CLASS ltcl_integration_test IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD test_app_change_value.
|
METHOD test_app_change_value.
|
||||||
|
|
||||||
DATA(lv_response) = z2ui5_cl_fw_http_handler=>http_post( `{ "OLOCATION" : { "SEARCH" : "app_start=z2ui5_cl_test_integration_test"}}` ).
|
* DATA(lv_response) = z2ui5_cl_fw_http_handler=>http_post( `{ "OLOCATION" : { "SEARCH" : "app_start=z2ui5_cl_test_integration_test"}}` ).
|
||||||
|
*
|
||||||
|
* DATA lo_data TYPE REF TO data.
|
||||||
|
* /ui2/cl_json=>deserialize(
|
||||||
|
* EXPORTING
|
||||||
|
* json = lv_response
|
||||||
|
* CHANGING
|
||||||
|
* data = lo_data ).
|
||||||
|
*
|
||||||
|
* FIELD-SYMBOLS <val> TYPE any.
|
||||||
|
*
|
||||||
|
* UNASSIGN <val>.
|
||||||
|
* DATA(lv_assign) = `ID->*`.
|
||||||
|
* ASSIGN lo_data->(lv_assign) TO <val>.
|
||||||
|
* IF <val> IS INITIAL.
|
||||||
|
* cl_abap_unit_assert=>fail( msg = 'id - initial value is initial' quit = 5 ).
|
||||||
|
* ENDIF.
|
||||||
|
* DATA(lv_id) = CONV string( <val> ).
|
||||||
|
*
|
||||||
|
* DATA(lv_request) = `{ "VIEWNAME": "MAIN" , "EDIT":{"QUANTITY":"600"},"ID": "` && lv_id && `" ,"ARGUMENTS":[{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}]}`.
|
||||||
|
* lv_response = z2ui5_cl_fw_http_handler=>http_post( lv_request ).
|
||||||
|
*
|
||||||
|
* CLEAR lo_data.
|
||||||
|
* /ui2/cl_json=>deserialize(
|
||||||
|
* EXPORTING
|
||||||
|
* json = lv_response
|
||||||
|
* CHANGING
|
||||||
|
* data = lo_data ).
|
||||||
|
*
|
||||||
|
* UNASSIGN <val>.
|
||||||
|
* lv_assign = `OVIEWMODEL->EDIT->QUANTITY->*`.
|
||||||
|
* ASSIGN lo_data->(lv_assign) TO <val>.
|
||||||
|
*
|
||||||
|
* cl_abap_unit_assert=>assert_equals(
|
||||||
|
* act = <val>
|
||||||
|
* exp = `600`
|
||||||
|
* ).
|
||||||
|
|
||||||
DATA lo_data TYPE REF TO data.
|
* IF <val> <> `600`.
|
||||||
/ui2/cl_json=>deserialize(
|
* cl_abap_unit_assert=>fail( msg = 'data binding - frontend updated value wrong after roundtrip' quit = 5 ).
|
||||||
EXPORTING
|
* ENDIF.
|
||||||
json = lv_response
|
|
||||||
CHANGING
|
|
||||||
data = lo_data ).
|
|
||||||
|
|
||||||
FIELD-SYMBOLS <val> TYPE any.
|
|
||||||
|
|
||||||
UNASSIGN <val>.
|
|
||||||
DATA(lv_assign) = `ID->*`.
|
|
||||||
ASSIGN lo_data->(lv_assign) TO <val>.
|
|
||||||
IF <val> IS INITIAL.
|
|
||||||
cl_abap_unit_assert=>fail( msg = 'id - initial value is initial' quit = 5 ).
|
|
||||||
ENDIF.
|
|
||||||
DATA(lv_id) = CONV string( <val> ).
|
|
||||||
|
|
||||||
DATA(lv_request) = `{ "VIEWNAME": "MAIN" , "EDIT":{"QUANTITY":"600"},"ID": "` && lv_id && `" ,"ARGUMENTS":[{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}]}`.
|
|
||||||
lv_response = z2ui5_cl_fw_http_handler=>http_post( lv_request ).
|
|
||||||
|
|
||||||
CLEAR lo_data.
|
|
||||||
/ui2/cl_json=>deserialize(
|
|
||||||
EXPORTING
|
|
||||||
json = lv_response
|
|
||||||
CHANGING
|
|
||||||
data = lo_data ).
|
|
||||||
|
|
||||||
UNASSIGN <val>.
|
|
||||||
lv_assign = `OVIEWMODEL->EDIT->QUANTITY->*`.
|
|
||||||
ASSIGN lo_data->(lv_assign) TO <val>.
|
|
||||||
IF <val> <> `600`.
|
|
||||||
cl_abap_unit_assert=>fail( msg = 'data binding - frontend updated value wrong after roundtrip' quit = 5 ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD test_app_event.
|
METHOD test_app_event.
|
||||||
|
|
||||||
z2ui5_cl_test_integration_test=>sv_state = ``.
|
* z2ui5_cl_test_integration_test=>sv_state = ``.
|
||||||
DATA(lv_response) = z2ui5_cl_fw_http_handler=>http_post( `{ "OLOCATION" : { "SEARCH" : "app_start=z2ui5_cl_test_integration_test"}}` ).
|
* DATA(lv_response) = z2ui5_cl_fw_http_handler=>http_post( `{ "OLOCATION" : { "SEARCH" : "app_start=z2ui5_cl_test_integration_test"}}` ).
|
||||||
|
*
|
||||||
DATA lo_data TYPE REF TO data.
|
* DATA lo_data TYPE REF TO data.
|
||||||
/ui2/cl_json=>deserialize(
|
* /ui2/cl_json=>deserialize(
|
||||||
EXPORTING
|
* EXPORTING
|
||||||
json = lv_response
|
* json = lv_response
|
||||||
CHANGING
|
* CHANGING
|
||||||
data = lo_data ).
|
* data = lo_data ).
|
||||||
|
*
|
||||||
FIELD-SYMBOLS <val> TYPE any.
|
* FIELD-SYMBOLS <val> TYPE any.
|
||||||
|
*
|
||||||
UNASSIGN <val>.
|
* UNASSIGN <val>.
|
||||||
DATA(lv_assign) = `ID->*`.
|
* DATA(lv_assign) = `ID->*`.
|
||||||
ASSIGN lo_data->(lv_assign) TO <val>.
|
* ASSIGN lo_data->(lv_assign) TO <val>.
|
||||||
cl_abap_unit_assert=>assert_not_initial( <val> ).
|
* cl_abap_unit_assert=>assert_not_initial( <val> ).
|
||||||
|
*
|
||||||
|
*
|
||||||
DATA(lv_id) = CONV string( <val> ).
|
* DATA(lv_id) = CONV string( <val> ).
|
||||||
DATA(lv_request) = `{"EDIT":{"QUANTITY":"700"},"ID": "` && lv_id && `" ,"ARGUMENTS": [{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}], "VIEWNAME" : "MAIN"}`.
|
* DATA(lv_request) = `{"EDIT":{"QUANTITY":"700"},"ID": "` && lv_id && `" ,"ARGUMENTS": [{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}], "VIEWNAME" : "MAIN"}`.
|
||||||
lv_response = z2ui5_cl_fw_http_handler=>http_post( lv_request ).
|
* lv_response = z2ui5_cl_fw_http_handler=>http_post( lv_request ).
|
||||||
|
*
|
||||||
CLEAR lo_data.
|
* CLEAR lo_data.
|
||||||
/ui2/cl_json=>deserialize(
|
* /ui2/cl_json=>deserialize(
|
||||||
EXPORTING
|
* EXPORTING
|
||||||
json = lv_response
|
* json = lv_response
|
||||||
CHANGING
|
* CHANGING
|
||||||
data = lo_data ).
|
* data = lo_data ).
|
||||||
|
*
|
||||||
UNASSIGN <val>.
|
* UNASSIGN <val>.
|
||||||
ASSIGN (`LO_DATA->PARAMS->*`) TO <val>.
|
* ASSIGN (`LO_DATA->PARAMS->*`) TO <val>.
|
||||||
ASSIGN (`<VAL>-S_MSG_TOAST->*`) TO <val>.
|
* ASSIGN (`<VAL>-S_MSG_TOAST->*`) TO <val>.
|
||||||
ASSIGN (`<VAL>-TEXT->*`) TO <val>.
|
* ASSIGN (`<VAL>-TEXT->*`) TO <val>.
|
||||||
cl_abap_unit_assert=>assert_not_initial( <val> ).
|
* cl_abap_unit_assert=>assert_not_initial( <val> ).
|
||||||
|
|
||||||
* cl_abap_unit_assert=>assert_equals(
|
* cl_abap_unit_assert=>assert_equals(
|
||||||
* act = <val>
|
* act = <val>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user