mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
122 lines
2.7 KiB
ABAP
122 lines
2.7 KiB
ABAP
CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|
INHERITING FROM zcl_abapgit_gui_page_codi_base.
|
|
|
|
PUBLIC SECTION.
|
|
|
|
METHODS:
|
|
constructor
|
|
IMPORTING
|
|
io_repo TYPE REF TO zcl_abapgit_repo
|
|
RAISING
|
|
zcx_abapgit_exception,
|
|
|
|
zif_abapgit_gui_event_handler~on_event
|
|
REDEFINITION,
|
|
|
|
zif_abapgit_gui_renderable~render
|
|
REDEFINITION.
|
|
|
|
PROTECTED SECTION.
|
|
CONSTANTS: c_variant TYPE c LENGTH 30 VALUE 'SYNTAX_CHECK'.
|
|
|
|
METHODS:
|
|
render_content REDEFINITION.
|
|
|
|
PRIVATE SECTION.
|
|
METHODS:
|
|
build_menu
|
|
RETURNING
|
|
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar
|
|
RAISING
|
|
zcx_abapgit_exception,
|
|
|
|
run_syntax_check
|
|
RAISING
|
|
zcx_abapgit_exception.
|
|
ENDCLASS.
|
|
|
|
|
|
|
|
CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION.
|
|
|
|
|
|
METHOD build_menu.
|
|
|
|
ro_menu = build_base_menu( ).
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD constructor.
|
|
super->constructor( ).
|
|
ms_control-page_title = 'Syntax Check'.
|
|
mo_repo = io_repo.
|
|
run_syntax_check( ).
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD render_content.
|
|
|
|
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
|
|
|
ri_html->add( `<div class="repo">` ).
|
|
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_repo_top( io_repo = mo_repo
|
|
iv_show_commit = abap_false ) ).
|
|
ri_html->add( `</div>` ).
|
|
|
|
ri_html->add( '<div class="toc">' ).
|
|
|
|
ri_html->add( render_variant( c_variant ) ).
|
|
|
|
IF lines( mt_result ) = 0.
|
|
ri_html->add( '<div class="dummydiv success">' ).
|
|
ri_html->add( ri_html->icon( 'check' ) ).
|
|
ri_html->add( 'No syntax errors' ).
|
|
ri_html->add( '</div>' ).
|
|
ELSE.
|
|
render_result( ii_html = ri_html
|
|
it_result = mt_result ).
|
|
ENDIF.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD run_syntax_check.
|
|
|
|
DATA: li_syntax_check TYPE REF TO zif_abapgit_code_inspector.
|
|
|
|
li_syntax_check = zcl_abapgit_factory=>get_code_inspector( mo_repo->get_package( ) ).
|
|
|
|
TRY.
|
|
mt_result = li_syntax_check->run( c_variant ).
|
|
CATCH zcx_abapgit_exception.
|
|
" Variant SYNTAX_CHECK does not exist in 702
|
|
mt_result = li_syntax_check->run( 'VERI_' && c_variant ).
|
|
ENDTRY.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD zif_abapgit_gui_event_handler~on_event.
|
|
|
|
CASE ii_event->mv_action.
|
|
WHEN c_actions-rerun.
|
|
|
|
run_syntax_check( ).
|
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
|
|
|
WHEN OTHERS.
|
|
rs_handled = super->zif_abapgit_gui_event_handler~on_event( ii_event ).
|
|
ENDCASE.
|
|
|
|
ENDMETHOD.
|
|
|
|
|
|
METHOD zif_abapgit_gui_renderable~render.
|
|
|
|
ms_control-page_menu = build_menu( ).
|
|
ri_html = super->zif_abapgit_gui_renderable~render( ).
|
|
|
|
ENDMETHOD.
|
|
ENDCLASS.
|