mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 22:09:24 +08:00
chart.js fix (#865)
* refactoring * update * chart.js fix * update * update
This commit is contained in:
parent
6aa276f60b
commit
3bea3d8ee8
|
@ -1,20 +0,0 @@
|
|||
CLASS z2ui5_cl_util_tree_xml DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
DATA mt_prop TYPE z2ui5_if_client=>ty_t_name_value.
|
||||
DATA mt_ns TYPE SORTED TABLE OF string WITH UNIQUE KEY table_line.
|
||||
DATA mv_name TYPE string.
|
||||
DATA mv_content TYPE string.
|
||||
DATA mv_ns TYPE string.
|
||||
DATA mo_root TYPE REF TO z2ui5_cl_util_tree_xml.
|
||||
DATA mo_previous TYPE REF TO z2ui5_cl_util_tree_xml.
|
||||
DATA mo_parent TYPE REF TO z2ui5_cl_util_tree_xml.
|
||||
DATA mt_child TYPE STANDARD TABLE OF REF TO z2ui5_cl_util_tree_xml WITH EMPTY KEY.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS z2ui5_cl_util_tree_xml IMPLEMENTATION.
|
||||
ENDCLASS.
|
|
@ -28,6 +28,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
|||
depth TYPE i,
|
||||
json_bind_local TYPE REF TO z2ui5_if_ajson,
|
||||
custom_filter TYPE REF TO z2ui5_if_ajson_filter,
|
||||
custom_filter_back TYPE REF TO z2ui5_if_ajson_filter,
|
||||
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping,
|
||||
custom_mapper_back TYPE REF TO z2ui5_if_ajson_mapping,
|
||||
END OF ty_s_attri.
|
||||
|
@ -42,6 +43,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
|||
check_attri TYPE data OPTIONAL
|
||||
view TYPE clike OPTIONAL
|
||||
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||
custom_filter_back TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||
custom_mapper_back TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||
RETURNING
|
||||
|
@ -58,10 +60,11 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
|||
DATA mv_check_attri TYPE abap_bool.
|
||||
DATA mv_view TYPE string.
|
||||
DATA mo_custom_filter TYPE REF TO z2ui5_if_ajson_filter.
|
||||
DATA mo_custom_filter_back TYPE REF TO z2ui5_if_ajson_filter.
|
||||
DATA mo_custom_mapper TYPE REF TO z2ui5_if_ajson_mapping.
|
||||
DATA mo_custom_mapper_back TYPE REF TO z2ui5_if_ajson_mapping.
|
||||
|
||||
class-METHODS bind_tab_cell
|
||||
CLASS-METHODS bind_tab_cell
|
||||
IMPORTING
|
||||
iv_name TYPE string
|
||||
i_tab_index TYPE i
|
||||
|
@ -70,7 +73,7 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
|||
RETURNING
|
||||
VALUE(r_result) TYPE string.
|
||||
|
||||
class-METHODS bind_struc_comp
|
||||
CLASS-METHODS bind_struc_comp
|
||||
IMPORTING
|
||||
iv_name TYPE string
|
||||
i_struc TYPE data
|
||||
|
@ -148,7 +151,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
||||
CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD bind.
|
||||
|
@ -196,9 +199,32 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
|||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
* IF mo_custom_filter_back IS BOUND.
|
||||
* TRY.
|
||||
* DATA(li_serial) = CAST if_serializable_object( mo_custom_filter_back ) ##NEEDED.
|
||||
* CATCH cx_root.
|
||||
* RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||
* EXPORTING
|
||||
* val = `<p>custom_filter_back used but it is not serializable, please use if_serializable_object`.
|
||||
*
|
||||
* ENDTRY.
|
||||
* ENDIF.
|
||||
*
|
||||
* IF mo_custom_filter_back IS BOUND.
|
||||
* TRY.
|
||||
* DATA(li_serial2) = CAST if_serializable_object( mo_custom_mapper_back ) ##NEEDED.
|
||||
* CATCH cx_root.
|
||||
* RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||
* EXPORTING
|
||||
* val = `<p>mo_custom_mapper_back used but it is not serializable, please use if_serializable_object`.
|
||||
*
|
||||
* ENDTRY.
|
||||
* ENDIF.
|
||||
|
||||
bind->bind_type = mv_type.
|
||||
bind->viewname = mv_view.
|
||||
bind->custom_filter = mo_custom_filter.
|
||||
bind->custom_filter_back = mo_custom_filter_back.
|
||||
bind->custom_mapper = mo_custom_mapper.
|
||||
bind->custom_mapper_back = mo_custom_mapper_back.
|
||||
|
||||
|
@ -375,6 +401,7 @@ CLASS Z2UI5_CL_FW_BINDING IMPLEMENTATION.
|
|||
r_result->mv_check_attri = check_attri.
|
||||
r_result->mv_view = view.
|
||||
r_result->mo_custom_filter = custom_filter.
|
||||
r_result->mo_custom_filter_back = custom_filter_back.
|
||||
r_result->mo_custom_mapper = custom_mapper.
|
||||
r_result->mo_custom_mapper_back = custom_mapper_back.
|
||||
|
||||
|
|
|
@ -281,6 +281,7 @@ CLASS z2ui5_cl_fw_client IMPLEMENTATION.
|
|||
custom_mapper = custom_mapper
|
||||
custom_mapper_back = custom_mapper_back
|
||||
custom_filter = custom_filter
|
||||
custom_filter_back = custom_filter_back
|
||||
).
|
||||
|
||||
result = lo_binder->main( ).
|
||||
|
|
|
@ -5,14 +5,12 @@ CLASS z2ui5_cl_fw_http_get DEFINITION
|
|||
|
||||
PUBLIC SECTION.
|
||||
|
||||
DATA ms_request TYPE z2ui5_if_client=>ty_s_http_request_get.
|
||||
DATA mv_response TYPE string.
|
||||
DATA ms_request TYPE z2ui5_if_client=>ty_s_http_request_get .
|
||||
DATA mv_response TYPE string .
|
||||
|
||||
CLASS-METHODS factory
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
val TYPE z2ui5_if_client=>ty_s_http_request_get
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_fw_http_get.
|
||||
val TYPE z2ui5_if_client=>ty_s_http_request_get OPTIONAL.
|
||||
|
||||
METHODS main
|
||||
RETURNING
|
||||
|
@ -22,6 +20,10 @@ CLASS z2ui5_cl_fw_http_get DEFINITION
|
|||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
METHODS get_js_cc_startup
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
@ -31,10 +33,9 @@ ENDCLASS.
|
|||
CLASS Z2UI5_CL_FW_HTTP_GET IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
METHOD constructor.
|
||||
|
||||
result = NEW #( ).
|
||||
result->ms_request = val.
|
||||
ms_request = val.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -176,7 +177,7 @@ CLASS Z2UI5_CL_FW_HTTP_GET IMPLEMENTATION.
|
|||
` let oControl = sap.z2ui5.oView.byId(id);` && |\n| &&
|
||||
` if (!oControl) {` && |\n| &&
|
||||
` oControl = sap.ui.getCore().byId(id);` && |\n| &&
|
||||
` debugger ;` && |\n| &&
|
||||
* ` debugger;` && |\n| &&
|
||||
` }` && |\n| &&
|
||||
` if (!oControl) {` && |\n| &&
|
||||
` oControl = sap.z2ui5.oViewNest.byId(id) || sap.z2ui5.oViewNest2.byId(id);` && |\n| &&
|
||||
|
@ -416,7 +417,7 @@ CLASS Z2UI5_CL_FW_HTTP_GET IMPLEMENTATION.
|
|||
` sap.z2ui5.oController.responseError(responseText);` && |\n| &&
|
||||
` } else {` && |\n| &&
|
||||
` const responseData = await response.json();` && |\n| &&
|
||||
` debugger;` && |\n| &&
|
||||
* ` debugger;` && |\n| &&
|
||||
` sap.z2ui5.oController.responseSuccess({` && |\n| &&
|
||||
` ID : responseData.S_FRONTEND.ID,` && |\n| &&
|
||||
` PARAMS : responseData.S_FRONTEND.PARAMS,` && |\n| &&
|
||||
|
@ -457,7 +458,7 @@ CLASS Z2UI5_CL_FW_HTTP_GET IMPLEMENTATION.
|
|||
` };` && |\n| &&
|
||||
` if ( sap.z2ui5.oBody?.ARGUMENTS != undefined ) { if ( sap.z2ui5.oBody?.ARGUMENTS.length > 0 ) { sap.z2ui5.oBody?.ARGUMENTS.shift(); } }` && |\n| &&
|
||||
` sap.z2ui5.oBody.S_FRONTEND.T_EVENT_ARG = sap.z2ui5.oBody?.ARGUMENTS;` && |\n| &&
|
||||
` debugger;` && |\n| &&
|
||||
* ` debugger;` && |\n| &&
|
||||
` sap.z2ui5.oController.readHttp();` && |\n| &&
|
||||
` },` && |\n| &&
|
||||
` })` && |\n| &&
|
||||
|
@ -489,6 +490,26 @@ CLASS Z2UI5_CL_FW_HTTP_GET IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_js_cc_startup.
|
||||
|
||||
result = ` ` &&
|
||||
z2ui5_cl_fw_cc_timer=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_focus=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_title=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_history=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_scrolling=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_info_frontend=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_geolocation=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_file_uploader=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_multiinput_ext=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_uitable_ext=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_util=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_favicon=>get_js( ) &&
|
||||
` `.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD main.
|
||||
|
||||
DATA(lt_config) = ms_request-t_config.
|
||||
|
@ -539,7 +560,7 @@ CLASS Z2UI5_CL_FW_HTTP_GET IMPLEMENTATION.
|
|||
` <div id="content" data-handle-validation="true" ></div>` && |\n| &&
|
||||
`<abc/>` && |\n|.
|
||||
|
||||
DATA(lv_add_js) = z2ui5_cl_fw_cc_factory=>get_js_startup( ) && ms_request-custom_js.
|
||||
DATA(lv_add_js) = get_js_cc_startup( ) && ms_request-custom_js.
|
||||
|
||||
mv_response = mv_response &&
|
||||
`<script> sap.z2ui5 = sap.z2ui5 || {};` && |\n| &&
|
||||
|
|
108
src/01/02/z2ui5_cl_fw_http_get.clas.testclasses.abap
Normal file
108
src/01/02/z2ui5_cl_fw_http_get.clas.testclasses.abap
Normal file
|
@ -0,0 +1,108 @@
|
|||
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
||||
DURATION MEDIUM
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS test_index_html FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_launchpad_compatibility FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_path FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_avoid_debugger FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_avoid_sap_ui_get_core FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_avoid_window FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_avoid_document FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_avoid_jquery FOR TESTING RAISING cx_static_check.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
||||
|
||||
METHOD test_index_html.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = lo_get->main( ).
|
||||
IF lv_index_html IS INITIAL.
|
||||
cl_abap_unit_assert=>fail( 'HTTP GET - index html initial' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD test_launchpad_compatibility.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = lo_get->main( ).
|
||||
IF lv_index_html CS `&`.
|
||||
cl_abap_unit_assert=>fail( 'index.html contains the character & -> no launchpad compatibility' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD test_path.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = to_upper( lo_get->main( ) ).
|
||||
IF lv_index_html CS `SAP.Z2UI5.PATHNAME || '/SAP/TEST';`.
|
||||
cl_abap_unit_assert=>fail( 'path static' ).
|
||||
ENDIF.
|
||||
|
||||
IF lv_index_html NS `SAP.Z2UI5.PATHNAME || WINDOW.LOCATION.PATHNAME;`.
|
||||
cl_abap_unit_assert=>fail( 'path static' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_avoid_debugger.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = to_upper( lo_get->main( ) ).
|
||||
IF lv_index_html CS `DEBUGGER`.
|
||||
cl_abap_unit_assert=>fail( 'debugger command not allowed' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_avoid_sap_ui_get_core.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = to_upper( lo_get->main( ) ) ##NEEDED.
|
||||
* IF lv_index_html CS `SAP.UI.GETCORE`.
|
||||
* cl_abap_unit_assert=>fail( 'sap.ui.get.core not allowed' ).
|
||||
* ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_avoid_jquery.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = to_upper( lo_get->main( ) ).
|
||||
IF lv_index_html CS `JQUERY`.
|
||||
cl_abap_unit_assert=>fail( 'use of jquery not allowed' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_avoid_window.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = to_upper( lo_get->main( ) ) ##NEEDED.
|
||||
* IF lv_index_html CS `WINDOW.`.
|
||||
* cl_abap_unit_assert=>fail( 'use of window not allowed' ).
|
||||
* ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_avoid_document.
|
||||
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( ).
|
||||
DATA(lv_index_html) = to_upper( lo_get->main( ) ) ##NEEDED.
|
||||
* IF lv_index_html CS `DOCUMENT.`.
|
||||
* cl_abap_unit_assert=>fail( 'use of document not allowed' ).
|
||||
* ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -10,6 +10,7 @@
|
|||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
|
|
|
@ -122,6 +122,10 @@ CLASS z2ui5_cl_fw_http_mapper IMPLEMENTATION.
|
|||
lo_val_front = lo_val_front->map( lr_attri->custom_mapper_back ).
|
||||
ENDIF.
|
||||
|
||||
IF lr_attri->custom_filter_back IS BOUND.
|
||||
lo_val_front = lo_val_front->filter( lr_attri->custom_filter_back ).
|
||||
ENDIF.
|
||||
|
||||
lo_val_front->to_abap(
|
||||
IMPORTING
|
||||
ev_container = <backend> ).
|
||||
|
|
|
@ -9,11 +9,9 @@ CLASS z2ui5_cl_fw_http_post DEFINITION
|
|||
DATA ms_request TYPE z2ui5_if_client=>ty_s_http_request_post.
|
||||
DATA ms_response TYPE z2ui5_if_client=>ty_s_http_response_post.
|
||||
|
||||
CLASS-METHODS factory
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
val TYPE string
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_fw_http_post.
|
||||
val TYPE string.
|
||||
|
||||
METHODS main
|
||||
RETURNING
|
||||
|
@ -39,15 +37,27 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_fw_http_post IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_FW_HTTP_POST IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD factory.
|
||||
METHOD constructor.
|
||||
|
||||
result = NEW #( ).
|
||||
result->mv_request_json = val.
|
||||
result->mo_http_mapper = NEW z2ui5_cl_fw_http_mapper( ).
|
||||
result->mo_app = NEW z2ui5_cl_fw_app( result ).
|
||||
mv_request_json = val.
|
||||
mo_http_mapper = NEW z2ui5_cl_fw_http_mapper( ).
|
||||
mo_app = NEW z2ui5_cl_fw_app( me ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD main.
|
||||
|
||||
main_begin( ).
|
||||
DO.
|
||||
IF main_process( ).
|
||||
EXIT.
|
||||
ENDIF.
|
||||
ENDDO.
|
||||
result = main_end( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -112,17 +122,4 @@ CLASS z2ui5_cl_fw_http_post IMPLEMENTATION.
|
|||
mo_app = mo_app->factory_system_error( x ).
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD main.
|
||||
|
||||
main_begin( ).
|
||||
DO.
|
||||
IF main_process( ).
|
||||
EXIT.
|
||||
ENDIF.
|
||||
ENDDO.
|
||||
result = main_end( ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -198,7 +198,7 @@ CLASS Z2UI5_CL_FW_CC_DEBUGGING_TOOLS IMPLEMENTATION.
|
|||
` oFragmentController.oDialog.addStyleClass('dbg-ltr');` && |\n| &&
|
||||
|\n| &&
|
||||
` let value = JSON.stringify(sap.z2ui5.oResponse, null, 3);` && |\n| &&
|
||||
` debugger; let oData = { ` && |\n| &&
|
||||
` let oData = { ` && |\n| &&
|
||||
` type: 'json', ` && |\n| &&
|
||||
` value: value,` && |\n| &&
|
||||
` activeNest1 : sap?.z2ui5?.oViewNest?.mProperties?.viewContent !== undefined,` && |\n| &&
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
CLASS z2ui5_cl_fw_cc_factory DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS get_js_startup
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_FW_CC_FACTORY IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD get_js_startup.
|
||||
|
||||
result = ` ` &&
|
||||
z2ui5_cl_fw_cc_timer=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_focus=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_title=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_history=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_scrolling=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_info_frontend=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_geolocation=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_file_uploader=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_multiinput_ext=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_uitable_ext=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_util=>get_js( ) &&
|
||||
z2ui5_cl_fw_cc_favicon=>get_js( ) &&
|
||||
` `.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
|
@ -1,31 +0,0 @@
|
|||
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
||||
DURATION MEDIUM
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS test_js_for_debugger FOR TESTING RAISING cx_static_check.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
||||
|
||||
METHOD test_js_for_debugger.
|
||||
|
||||
DATA(lv_js) = z2ui5_cl_fw_cc_factory=>get_js_startup( ).
|
||||
IF lv_js CS `debugger`.
|
||||
cl_abap_unit_assert=>fail( 'HTTP GET - custom control js contains the command debugger' ).
|
||||
ENDIF.
|
||||
|
||||
IF lv_js CS `jQuery`.
|
||||
cl_abap_unit_assert=>fail( 'HTTP GET - custom control js contains the command jQuery' ).
|
||||
ENDIF.
|
||||
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_FW_CC_FACTORY</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>cc - fw factory</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -6,6 +6,7 @@ CLASS z2ui5_cl_cc_chartjs DEFINITION
|
|||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_ajson_filter.
|
||||
INTERFACES if_serializable_object.
|
||||
|
||||
" Data
|
||||
TYPES:
|
||||
|
@ -611,46 +612,8 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_cc_chartjs IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_CC_CHARTJS IMPLEMENTATION.
|
||||
|
||||
METHOD z2ui5_if_ajson_filter~keep_node.
|
||||
|
||||
rv_keep = abap_true.
|
||||
|
||||
CASE iv_visit.
|
||||
|
||||
WHEN z2ui5_if_ajson_filter=>visit_type-open.
|
||||
|
||||
IF is_node-children = 0.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
|
||||
WHEN z2ui5_if_ajson_filter=>visit_type-value.
|
||||
|
||||
CASE is_node-type.
|
||||
WHEN z2ui5_if_ajson_types=>node_type-boolean.
|
||||
IF is_node-value = `false`.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
WHEN z2ui5_if_ajson_types=>node_type-number.
|
||||
IF is_node-value = `0` or is_node-value = `0.00`.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
WHEN z2ui5_if_ajson_types=>node_type-string.
|
||||
IF is_node-value = ``.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
ENDCASE.
|
||||
|
||||
WHEN z2ui5_if_ajson_filter=>visit_type-close.
|
||||
|
||||
IF is_node-children = 0.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_chartjs_local.
|
||||
result = ``.
|
||||
|
@ -861,4 +824,44 @@ CLASS z2ui5_cl_cc_chartjs IMPLEMENTATION.
|
|||
`loadLibs();`.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_if_ajson_filter~keep_node.
|
||||
|
||||
rv_keep = abap_true.
|
||||
|
||||
CASE iv_visit.
|
||||
|
||||
WHEN z2ui5_if_ajson_filter=>visit_type-open.
|
||||
|
||||
IF is_node-children = 0.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
|
||||
WHEN z2ui5_if_ajson_filter=>visit_type-value.
|
||||
|
||||
CASE is_node-type.
|
||||
WHEN z2ui5_if_ajson_types=>node_type-boolean.
|
||||
IF is_node-value = `false`.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
WHEN z2ui5_if_ajson_types=>node_type-number.
|
||||
IF is_node-value = `0` or is_node-value = `0.00`.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
WHEN z2ui5_if_ajson_types=>node_type-string.
|
||||
IF is_node-value = ``.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
ENDCASE.
|
||||
|
||||
WHEN z2ui5_if_ajson_filter=>visit_type-close.
|
||||
|
||||
IF is_node-children = 0.
|
||||
rv_keep = abap_false.
|
||||
ENDIF.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -56,13 +56,13 @@ CLASS z2ui5_cl_ui5 DEFINITION
|
|||
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_ui5_ui_webc.
|
||||
|
||||
METHODS constructor
|
||||
IMPORTING node TYPE REF TO z2ui5_cl_util_tree_xml OPTIONAL.
|
||||
IMPORTING node TYPE REF TO z2ui5_cl_UI5_tree_xml OPTIONAL.
|
||||
|
||||
METHODS _stringify
|
||||
RETURNING VALUE(result) TYPE string.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA _node TYPE REF TO z2ui5_cl_util_tree_xml.
|
||||
DATA _node TYPE REF TO z2ui5_cl_UI5_tree_xml.
|
||||
|
||||
CLASS-METHODS _2xml
|
||||
IMPORTING obj TYPE REF TO z2ui5_cl_ui5
|
||||
|
@ -192,7 +192,7 @@ CLASS z2ui5_cl_ui5 IMPLEMENTATION.
|
|||
CATCH cx_root.
|
||||
ENDTRY.
|
||||
|
||||
DATA(lo_node) = NEW z2ui5_cl_util_tree_xml( ).
|
||||
DATA(lo_node) = NEW z2ui5_cl_UI5_tree_xml( ).
|
||||
DATA(result2) = NEW z2ui5_cl_ui5( lo_node ).
|
||||
result2->_node->mv_name = n.
|
||||
result2->_node->mv_ns = ns.
|
||||
|
|
20
src/02/01/02/z2ui5_cl_ui5_tree_xml.clas.abap
Normal file
20
src/02/01/02/z2ui5_cl_ui5_tree_xml.clas.abap
Normal file
|
@ -0,0 +1,20 @@
|
|||
CLASS z2ui5_cl_ui5_tree_xml DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
DATA mt_prop TYPE z2ui5_if_client=>ty_t_name_value.
|
||||
DATA mt_ns TYPE SORTED TABLE OF string WITH UNIQUE KEY table_line.
|
||||
DATA mv_name TYPE string.
|
||||
DATA mv_content TYPE string.
|
||||
DATA mv_ns TYPE string.
|
||||
DATA mo_root TYPE REF TO z2ui5_cl_ui5_tree_xml.
|
||||
DATA mo_previous TYPE REF TO z2ui5_cl_ui5_tree_xml.
|
||||
DATA mo_parent TYPE REF TO z2ui5_cl_ui5_tree_xml.
|
||||
DATA mt_child TYPE STANDARD TABLE OF REF TO z2ui5_cl_ui5_tree_xml WITH EMPTY KEY.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS z2ui5_cl_ui5_tree_xml IMPLEMENTATION.
|
||||
ENDCLASS.
|
|
@ -3,7 +3,7 @@
|
|||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_UTIL_TREE_XML</CLSNAME>
|
||||
<CLSNAME>Z2UI5_CL_UI5_TREE_XML</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>abap2UI5 - utility xml</DESCRIPT>
|
||||
<STATE>1</STATE>
|
|
@ -27,7 +27,7 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
|
|||
|
||||
METHOD http_get.
|
||||
|
||||
DATA(lo_get) = z2ui5_cl_fw_http_get=>factory( val ).
|
||||
DATA(lo_get) = NEW z2ui5_cl_fw_http_get( val ).
|
||||
result = lo_get->main( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -35,7 +35,7 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
|
|||
|
||||
METHOD http_post.
|
||||
|
||||
DATA(lo_post) = z2ui5_cl_fw_http_post=>factory( val ).
|
||||
DATA(lo_post) = NEW z2ui5_cl_fw_http_post( val ).
|
||||
result = lo_post->main( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CLASS ltcl_unit_02_app_start DEFINITION FINAL FOR TESTING
|
||||
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
|
||||
DURATION MEDIUM
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
|
@ -6,46 +6,19 @@ CLASS ltcl_unit_02_app_start DEFINITION FINAL FOR TESTING
|
|||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS test_index_html FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_launchpad_compatibility FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_path FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_first_start FOR TESTING RAISING cx_static_check.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_unit_02_app_start IMPLEMENTATION.
|
||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
||||
|
||||
METHOD test_index_html.
|
||||
METHOD test_first_start.
|
||||
|
||||
DATA(lv_index_html) = z2ui5_cl_http_handler=>http_get( ).
|
||||
IF lv_index_html IS INITIAL.
|
||||
cl_abap_unit_assert=>fail( 'HTTP GET - index html initial' ).
|
||||
cl_abap_unit_assert=>fail( 'HTTP GET' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD test_launchpad_compatibility.
|
||||
|
||||
DATA(lv_index_html) = z2ui5_cl_http_handler=>http_get( ).
|
||||
IF lv_index_html CS `&`.
|
||||
cl_abap_unit_assert=>fail( 'HTTP GET - index html contains the character & -> no launchpad compatibility' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD test_path.
|
||||
|
||||
DATA(lv_index_html) = z2ui5_cl_http_handler=>http_get( ).
|
||||
IF lv_index_html CS `sap.z2ui5.pathname || '/sap/test';`.
|
||||
cl_abap_unit_assert=>fail( 'path static' ).
|
||||
ENDIF.
|
||||
|
||||
IF lv_index_html NS `sap.z2ui5.pathname || window.location.pathname;`.
|
||||
cl_abap_unit_assert=>fail( 'path static' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -213,6 +213,7 @@ INTERFACE z2ui5_if_client
|
|||
custom_mapper TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||
custom_mapper_back TYPE REF TO z2ui5_if_ajson_mapping OPTIONAL
|
||||
custom_filter TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||
custom_filter_back TYPE REF TO z2ui5_if_ajson_filter OPTIONAL
|
||||
tab TYPE STANDARD TABLE OPTIONAL
|
||||
tab_index TYPE i OPTIONAL
|
||||
RETURNING
|
||||
|
|
Loading…
Reference in New Issue
Block a user