From 3364672c26683043f9a51c60ece13ba122d01e1c Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Mon, 7 Apr 2025 15:09:52 +0200 Subject: [PATCH] fix --- src/ui/core/zcl_abapgit_gui.clas.abap | 2 +- .../zcl_abapgit_ui_core_factory.clas.abap | 132 +----------------- .../zcl_abapgit_ui_core_injector.clas.abap | 25 ++++ .../zcl_abapgit_ui_core_injector.clas.xml | 17 +++ .../routing/zcl_abapgit_gui_router.clas.abap | 2 +- src/ui/zcl_abapgit_ui_factory.clas.abap | 3 - src/ui/zcl_abapgit_ui_injector.clas.abap | 10 -- test/src/zcl_abapgit_web.clas.abap | 2 +- 8 files changed, 46 insertions(+), 147 deletions(-) create mode 100644 src/ui/core/zcl_abapgit_ui_core_injector.clas.abap create mode 100644 src/ui/core/zcl_abapgit_ui_core_injector.clas.xml diff --git a/src/ui/core/zcl_abapgit_gui.clas.abap b/src/ui/core/zcl_abapgit_gui.clas.abap index 9c9b5bfe2..69c480c96 100644 --- a/src/ui/core/zcl_abapgit_gui.clas.abap +++ b/src/ui/core/zcl_abapgit_gui.clas.abap @@ -440,7 +440,7 @@ CLASS zcl_abapgit_gui IMPLEMENTATION. FIELD-SYMBOLS LIKE LINE OF lt_assets. - mi_html_viewer = zcl_abapgit_ui_factory=>get_html_viewer( ). + mi_html_viewer = zcl_abapgit_ui_core_factory=>get_html_viewer( ). IF mi_asset_man IS BOUND. lt_assets = mi_asset_man->get_all_assets( ). diff --git a/src/ui/core/zcl_abapgit_ui_core_factory.clas.abap b/src/ui/core/zcl_abapgit_ui_core_factory.clas.abap index fdaf2e156..c608caf2d 100644 --- a/src/ui/core/zcl_abapgit_ui_core_factory.clas.abap +++ b/src/ui/core/zcl_abapgit_ui_core_factory.clas.abap @@ -19,127 +19,7 @@ ENDCLASS. -CLASS zcl_abapgit_ui_factory IMPLEMENTATION. - - - METHOD get_asset_manager. - - DATA lo_buf TYPE REF TO zcl_abapgit_string_buffer. - DATA li_asset_man TYPE REF TO zif_abapgit_gui_asset_manager. - - CREATE OBJECT lo_buf. - - li_asset_man = zcl_abapgit_gui_asset_manager=>create( ). - - " @@abapmerge include zabapgit_css_common.w3mi.data.css > lo_buf->add( '$$' ). - li_asset_man->register_asset( - iv_url = 'css/common.css' - iv_type = 'text/css' - iv_mime_name = 'ZABAPGIT_CSS_COMMON' - iv_inline = lo_buf->join_w_newline_and_flush( ) ). - - " @@abapmerge include zabapgit_css_theme_default.w3mi.data.css > lo_buf->add( '$$' ). - li_asset_man->register_asset( - iv_url = 'css/theme-default.css' - iv_type = 'text/css' - iv_cacheable = abap_false - iv_mime_name = 'ZABAPGIT_CSS_THEME_DEFAULT' - iv_inline = lo_buf->join_w_newline_and_flush( ) ). - - " @@abapmerge include zabapgit_css_theme_dark.w3mi.data.css > lo_buf->add( '$$' ). - li_asset_man->register_asset( - iv_url = 'css/theme-dark.css' - iv_type = 'text/css' - iv_cacheable = abap_false - iv_mime_name = 'ZABAPGIT_CSS_THEME_DARK' - iv_inline = lo_buf->join_w_newline_and_flush( ) ). - - " @@abapmerge include zabapgit_css_theme_belize_blue.w3mi.data.css > lo_buf->add( '$$' ). - li_asset_man->register_asset( - iv_url = 'css/theme-belize-blue.css' - iv_type = 'text/css' - iv_cacheable = abap_false - iv_mime_name = 'ZABAPGIT_CSS_THEME_BELIZE_BLUE' - iv_inline = lo_buf->join_w_newline_and_flush( ) ). - - " @@abapmerge include zabapgit_js_common.w3mi.data.js > lo_buf->add( '$$' ). - li_asset_man->register_asset( - iv_url = 'js/common.js' - iv_type = 'text/javascript' - iv_mime_name = 'ZABAPGIT_JS_COMMON' - iv_inline = lo_buf->join_w_newline_and_flush( ) ). - - " @@abapmerge include zabapgit_icon_font_css.w3mi.data.css > lo_buf->add( '$$' ). - li_asset_man->register_asset( - iv_url = 'css/ag-icons.css' - iv_type = 'text/css' - iv_mime_name = 'ZABAPGIT_ICON_FONT_CSS' - iv_inline = lo_buf->join_w_newline_and_flush( ) ). - - " @@abapmerge include-base64 zabapgit_icon_font.w3mi.data.woff > lo_buf->add( '$$' ). - li_asset_man->register_asset( - iv_url = 'font/ag-icons.woff' - iv_type = 'font/woff' - iv_mime_name = 'ZABAPGIT_ICON_FONT' - iv_base64 = lo_buf->join_and_flush( ) ). - - ri_asset_man = li_asset_man. - - ENDMETHOD. - - - METHOD get_frontend_services. - - IF gi_fe_services IS INITIAL. - IF iv_disable_gui IS INITIAL. - CREATE OBJECT gi_fe_services TYPE zcl_abapgit_frontend_services. - ELSE. - CREATE OBJECT gi_fe_services TYPE zcl_abapgit_frontend_no_gui. - ENDIF. - ENDIF. - - ri_fe_serv = gi_fe_services. - - ENDMETHOD. - - - METHOD get_gui. - - DATA: - li_hotkey_ctl TYPE REF TO zif_abapgit_gui_hotkey_ctl, - li_router TYPE REF TO zif_abapgit_gui_event_handler, - li_asset_man TYPE REF TO zif_abapgit_gui_asset_manager. - - DATA lo_html_preprocessor TYPE REF TO zcl_abapgit_gui_html_processor. - - IF go_gui IS INITIAL. - li_asset_man = get_asset_manager( ). - - CREATE OBJECT lo_html_preprocessor EXPORTING ii_asset_man = li_asset_man. - lo_html_preprocessor->preserve_css( 'css/ag-icons.css' ). - lo_html_preprocessor->preserve_css( 'css/common.css' ). - - CREATE OBJECT li_router TYPE zcl_abapgit_gui_router. - CREATE OBJECT li_hotkey_ctl TYPE zcl_abapgit_gui_hotkey_ctl. - - CREATE OBJECT go_gui - EXPORTING - io_component = li_router - ii_hotkey_ctl = li_hotkey_ctl - ii_html_processor = lo_html_preprocessor - ii_asset_man = li_asset_man. - ENDIF. - ro_gui = go_gui. - - ENDMETHOD. - - - METHOD get_gui_services. - IF gi_gui_services IS NOT BOUND. - gi_gui_services ?= get_gui( ). - ENDIF. - ri_gui_services = gi_gui_services. - ENDMETHOD. +CLASS zcl_abapgit_ui_core_factory IMPLEMENTATION. METHOD get_html_viewer. @@ -155,14 +35,4 @@ CLASS zcl_abapgit_ui_factory IMPLEMENTATION. ENDMETHOD. - - METHOD get_popups. - - IF gi_popups IS INITIAL. - CREATE OBJECT gi_popups TYPE zcl_abapgit_popups. - ENDIF. - - ri_popups = gi_popups. - - ENDMETHOD. ENDCLASS. diff --git a/src/ui/core/zcl_abapgit_ui_core_injector.clas.abap b/src/ui/core/zcl_abapgit_ui_core_injector.clas.abap new file mode 100644 index 000000000..15598a0ae --- /dev/null +++ b/src/ui/core/zcl_abapgit_ui_core_injector.clas.abap @@ -0,0 +1,25 @@ +CLASS zcl_abapgit_ui_core_injector DEFINITION + PUBLIC + FOR TESTING + CREATE PRIVATE . + + PUBLIC SECTION. + + CLASS-METHODS set_html_viewer + IMPORTING + !ii_html_viewer TYPE REF TO zif_abapgit_html_viewer . + PROTECTED SECTION. + PRIVATE SECTION. +ENDCLASS. + + + +CLASS zcl_abapgit_ui_core_injector IMPLEMENTATION. + + METHOD set_html_viewer. + + zcl_abapgit_ui_core_factory=>gi_html_viewer = ii_html_viewer. + + ENDMETHOD. + +ENDCLASS. diff --git a/src/ui/core/zcl_abapgit_ui_core_injector.clas.xml b/src/ui/core/zcl_abapgit_ui_core_injector.clas.xml new file mode 100644 index 000000000..4e3fc8864 --- /dev/null +++ b/src/ui/core/zcl_abapgit_ui_core_injector.clas.xml @@ -0,0 +1,17 @@ + + + + + + ZCL_ABAPGIT_UI_CORE_INJECTOR + E + abapGit - GUI Core Injector + 05 + 1 + X + X + X + + + + diff --git a/src/ui/routing/zcl_abapgit_gui_router.clas.abap b/src/ui/routing/zcl_abapgit_gui_router.clas.abap index b5836d73b..31308f2a0 100644 --- a/src/ui/routing/zcl_abapgit_gui_router.clas.abap +++ b/src/ui/routing/zcl_abapgit_gui_router.clas.abap @@ -573,7 +573,7 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION. lv_new_window = boolc( iv_new_window IS NOT INITIAL ). TRY. - li_html_viewer = zcl_abapgit_ui_factory=>get_html_viewer( ). + li_html_viewer = zcl_abapgit_ui_core_factory=>get_html_viewer( ). " Hide HTML Viewer in dummy screen0 for direct CALL SCREEN to work li_html_viewer->set_visiblity( abap_false ). diff --git a/src/ui/zcl_abapgit_ui_factory.clas.abap b/src/ui/zcl_abapgit_ui_factory.clas.abap index 71d360255..e90060847 100644 --- a/src/ui/zcl_abapgit_ui_factory.clas.abap +++ b/src/ui/zcl_abapgit_ui_factory.clas.abap @@ -41,9 +41,6 @@ ENDCLASS. CLASS zcl_abapgit_ui_factory IMPLEMENTATION. - METHOD get_html_viewer. - RETURN. " todo, implement method - ENDMETHOD. METHOD get_asset_manager. diff --git a/src/ui/zcl_abapgit_ui_injector.clas.abap b/src/ui/zcl_abapgit_ui_injector.clas.abap index ce0a2acb6..5758020c0 100644 --- a/src/ui/zcl_abapgit_ui_injector.clas.abap +++ b/src/ui/zcl_abapgit_ui_injector.clas.abap @@ -17,9 +17,6 @@ CLASS zcl_abapgit_ui_injector DEFINITION CLASS-METHODS get_dummy_gui_services RETURNING VALUE(ri_gui_services) TYPE REF TO zif_abapgit_gui_services . - CLASS-METHODS set_html_viewer - IMPORTING - !ii_html_viewer TYPE REF TO zif_abapgit_html_viewer . PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. @@ -50,13 +47,6 @@ CLASS zcl_abapgit_ui_injector IMPLEMENTATION. ENDMETHOD. - METHOD set_html_viewer. - - zcl_abapgit_ui_factory=>gi_html_viewer = ii_html_viewer. - - ENDMETHOD. - - METHOD set_popups. zcl_abapgit_ui_factory=>gi_popups = ii_popups. diff --git a/test/src/zcl_abapgit_web.clas.abap b/test/src/zcl_abapgit_web.clas.abap index 7ed0c0358..af3906830 100644 --- a/test/src/zcl_abapgit_web.clas.abap +++ b/test/src/zcl_abapgit_web.clas.abap @@ -78,7 +78,7 @@ CLASS zcl_abapgit_web IMPLEMENTATION. ii_request = gi_request ii_response = gi_response. - zcl_abapgit_ui_injector=>set_html_viewer( go_viewer ). + zcl_abapgit_ui_core_injector=>set_html_viewer( go_viewer ). go_gui = zcl_abapgit_ui_factory=>get_gui( ).