This commit is contained in:
Lars Hvam 2025-04-07 15:09:52 +02:00
parent 3237266367
commit 3364672c26
8 changed files with 46 additions and 147 deletions

View File

@ -440,7 +440,7 @@ CLASS zcl_abapgit_gui IMPLEMENTATION.
FIELD-SYMBOLS <ls_asset> 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( ).

View File

@ -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.

View File

@ -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.

View File

@ -0,0 +1,17 @@
<?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>ZCL_ABAPGIT_UI_CORE_INJECTOR</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>abapGit - GUI Core Injector</DESCRIPT>
<CATEGORY>05</CATEGORY>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -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 ).

View File

@ -41,9 +41,6 @@ ENDCLASS.
CLASS zcl_abapgit_ui_factory IMPLEMENTATION.
METHOD get_html_viewer.
RETURN. " todo, implement method
ENDMETHOD.
METHOD get_asset_manager.

View File

@ -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.

View File

@ -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( ).