mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
SCI page deisgn (#2542)
* codeinsp design, phase 1 * fix alpha_output * final design
This commit is contained in:
parent
d8204d9130
commit
1ad16a03fe
|
@ -1013,3 +1013,43 @@ table.commit tr .title {
|
||||||
width:1000px;
|
width:1000px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* code inspector */
|
||||||
|
.ci-head {
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
}
|
||||||
|
.ci-head .package-name span {
|
||||||
|
margin-left: 0.3em;
|
||||||
|
color: grey;
|
||||||
|
}
|
||||||
|
.ci-variant {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
.ci-result {
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
padding: 6px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.ci-result li {
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0.3em 0.8em;
|
||||||
|
margin-top: 6px;
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
.ci-result li:first-child {
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
.ci-result li.ci-error {
|
||||||
|
border-left: 4px solid #cd5353;
|
||||||
|
}
|
||||||
|
.ci-result li.ci-warning {
|
||||||
|
border-left: 4px solid #ecd227;
|
||||||
|
}
|
||||||
|
.ci-result li.ci-info {
|
||||||
|
border-left: 4px solid #acacac;
|
||||||
|
}
|
||||||
|
.ci-result li span {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
|
@ -188,26 +188,27 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||||
CREATE OBJECT ro_html.
|
CREATE OBJECT ro_html.
|
||||||
|
|
||||||
IF mv_check_variant IS INITIAL.
|
IF mv_check_variant IS INITIAL.
|
||||||
ro_html->add( |No check variant supplied.| ).
|
ro_html->add( zcl_abapgit_gui_chunk_lib=>render_error( iv_error = 'No check variant supplied.' ) ).
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ro_html->add( '<div class="toc"><br/>' ).
|
ro_html->add( '<div class="ci-head">' ).
|
||||||
|
ro_html->add( |Code inspector check variant: <span class="ci-variant">{ mv_check_variant }</span>| ).
|
||||||
ro_html->add( |Code inspector check variant: {
|
ro_html->add( |<div class="float-right package-name">{
|
||||||
mv_check_variant
|
zcl_abapgit_html=>icon( 'box/grey70' ) }<span>{
|
||||||
}<br/>| ).
|
mo_repo->get_package( ) }</span></div>| ).
|
||||||
|
ro_html->add( '</div>' ).
|
||||||
|
|
||||||
IF lines( mt_result ) = 0.
|
IF lines( mt_result ) = 0.
|
||||||
ro_html->add( '<br/><div class="success">No code inspector findings</div>' ).
|
ro_html->add( '<div class="dummydiv success">' ).
|
||||||
ENDIF.
|
ro_html->add( zcl_abapgit_html=>icon( 'check' ) ).
|
||||||
|
ro_html->add( 'No code inspector findings' ).
|
||||||
ro_html->add( |<br/>| ).
|
|
||||||
|
|
||||||
render_result( io_html = ro_html
|
|
||||||
it_result = mt_result ).
|
|
||||||
|
|
||||||
ro_html->add( '</div>' ).
|
ro_html->add( '</div>' ).
|
||||||
|
ELSE.
|
||||||
|
render_result(
|
||||||
|
io_html = ro_html
|
||||||
|
it_result = mt_result ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,15 @@ CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!io_html TYPE REF TO zcl_abapgit_html
|
!io_html TYPE REF TO zcl_abapgit_html
|
||||||
!it_result TYPE scit_alvlist .
|
!it_result TYPE scit_alvlist .
|
||||||
|
METHODS render_result_line
|
||||||
|
IMPORTING
|
||||||
|
!io_html TYPE REF TO zcl_abapgit_html
|
||||||
|
!is_result TYPE scir_alvlist .
|
||||||
|
METHODS build_nav_link
|
||||||
|
IMPORTING
|
||||||
|
!is_result TYPE scir_alvlist
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_link) TYPE string.
|
||||||
METHODS jump
|
METHODS jump
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_item TYPE zif_abapgit_definitions=>ty_item
|
!is_item TYPE zif_abapgit_definitions=>ty_item
|
||||||
|
@ -21,7 +30,8 @@ CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CONSTANTS: c_object_separator TYPE char1 VALUE '|'.
|
CONSTANTS c_object_separator TYPE char1 VALUE '|'.
|
||||||
|
CONSTANTS c_ci_sig TYPE string VALUE 'cinav:'.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -30,6 +40,16 @@ ENDCLASS.
|
||||||
CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD build_nav_link.
|
||||||
|
|
||||||
|
rv_link = |{ c_ci_sig }| &&
|
||||||
|
|{ is_result-objtype }{ is_result-objname }| &&
|
||||||
|
|{ c_object_separator }{ is_result-sobjtype }{ is_result-sobjname }| &&
|
||||||
|
|{ c_object_separator }{ is_result-line }|.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD jump.
|
METHOD jump.
|
||||||
|
|
||||||
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
||||||
|
@ -103,77 +123,80 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
||||||
METHOD render_result.
|
METHOD render_result.
|
||||||
|
|
||||||
CONSTANTS: lc_limit TYPE i VALUE 500.
|
CONSTANTS: lc_limit TYPE i VALUE 500.
|
||||||
|
|
||||||
DATA: lv_class TYPE string,
|
|
||||||
lv_line TYPE string.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
||||||
|
|
||||||
|
io_html->add( '<div class="ci-result">' ).
|
||||||
|
|
||||||
LOOP AT it_result ASSIGNING <ls_result> TO lc_limit.
|
LOOP AT it_result ASSIGNING <ls_result> TO lc_limit.
|
||||||
|
render_result_line(
|
||||||
io_html->add( '<div>' ).
|
io_html = io_html
|
||||||
IF <ls_result>-sobjname IS INITIAL OR
|
is_result = <ls_result> ).
|
||||||
( <ls_result>-sobjname = <ls_result>-objname AND
|
|
||||||
<ls_result>-sobjtype = <ls_result>-sobjtype ).
|
|
||||||
io_html->add_a( iv_txt = |{ <ls_result>-objtype } { <ls_result>-objname }|
|
|
||||||
iv_act = |{ <ls_result>-objtype }{ <ls_result>-objname }| &&
|
|
||||||
|{ c_object_separator }{ c_object_separator }{ <ls_result>-line }|
|
|
||||||
iv_typ = zif_abapgit_html=>c_action_type-sapevent ).
|
|
||||||
|
|
||||||
ELSE.
|
|
||||||
io_html->add_a( iv_txt = |{ <ls_result>-objtype } { <ls_result>-objname }| &&
|
|
||||||
| < { <ls_result>-sobjtype } { <ls_result>-sobjname }|
|
|
||||||
iv_act = |{ <ls_result>-objtype }{ <ls_result>-objname }| &&
|
|
||||||
|{ c_object_separator }{ <ls_result>-sobjtype }{ <ls_result>-sobjname }| &&
|
|
||||||
|{ c_object_separator }{ <ls_result>-line }|
|
|
||||||
iv_typ = zif_abapgit_html=>c_action_type-sapevent ).
|
|
||||||
|
|
||||||
ENDIF.
|
|
||||||
io_html->add( '</div>' ).
|
|
||||||
|
|
||||||
CASE <ls_result>-kind.
|
|
||||||
WHEN 'E'.
|
|
||||||
lv_class = 'error'.
|
|
||||||
WHEN 'W'.
|
|
||||||
lv_class = 'warning'.
|
|
||||||
WHEN OTHERS.
|
|
||||||
lv_class = 'grey'.
|
|
||||||
ENDCASE.
|
|
||||||
|
|
||||||
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
|
|
||||||
EXPORTING
|
|
||||||
input = <ls_result>-line
|
|
||||||
IMPORTING
|
|
||||||
output = lv_line.
|
|
||||||
|
|
||||||
io_html->add( |<div class="{ lv_class }">Line { lv_line }: { <ls_result>-text }</div><br>| ).
|
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
io_html->add( '</div>' ).
|
||||||
|
|
||||||
IF lines( it_result ) > lc_limit.
|
IF lines( it_result ) > lc_limit.
|
||||||
|
io_html->add( '<div class="dummydiv warning">' ).
|
||||||
|
io_html->add( zcl_abapgit_html=>icon( 'exclamation-triangle' ) ).
|
||||||
io_html->add( |Only first { lc_limit } findings shown in list!| ).
|
io_html->add( |Only first { lc_limit } findings shown in list!| ).
|
||||||
|
io_html->add( '</div>' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD render_result_line.
|
||||||
|
|
||||||
|
DATA: lv_class TYPE string,
|
||||||
|
lv_obj_txt TYPE string,
|
||||||
|
lv_msg TYPE string.
|
||||||
|
|
||||||
|
CASE is_result-kind.
|
||||||
|
WHEN 'E'.
|
||||||
|
lv_class = 'ci-error'.
|
||||||
|
WHEN 'W'.
|
||||||
|
lv_class = 'ci-warning'.
|
||||||
|
WHEN OTHERS.
|
||||||
|
lv_class = 'ci-info'.
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
lv_msg = escape( val = is_result-text format = cl_abap_format=>e_html_attr ).
|
||||||
|
|
||||||
|
IF is_result-sobjname IS INITIAL OR
|
||||||
|
( is_result-sobjname = is_result-objname AND
|
||||||
|
is_result-sobjtype = is_result-sobjtype ).
|
||||||
|
lv_obj_txt = |{ is_result-objtype } { is_result-objname }|.
|
||||||
|
ELSE.
|
||||||
|
lv_obj_txt = |{ is_result-objtype } { is_result-objname } > { is_result-sobjtype } { is_result-sobjname }|.
|
||||||
|
ENDIF.
|
||||||
|
lv_obj_txt = |{ lv_obj_txt } [ @{ zcl_abapgit_convert=>alpha_output( is_result-line ) } ]|.
|
||||||
|
|
||||||
|
io_html->add( |<li class="{ lv_class }">| ).
|
||||||
|
io_html->add_a(
|
||||||
|
iv_txt = lv_obj_txt
|
||||||
|
iv_act = build_nav_link( is_result )
|
||||||
|
iv_typ = zif_abapgit_html=>c_action_type-sapevent ).
|
||||||
|
io_html->add( |<span>{ lv_msg }</span>| ).
|
||||||
|
io_html->add( '</li>' ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_gui_page~on_event.
|
METHOD zif_abapgit_gui_page~on_event.
|
||||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item,
|
ls_sub_item TYPE zif_abapgit_definitions=>ty_item,
|
||||||
|
lv_temp TYPE string,
|
||||||
lv_main_object TYPE string,
|
lv_main_object TYPE string,
|
||||||
lv_sub_object TYPE string,
|
lv_sub_object TYPE string,
|
||||||
lv_line_number_s TYPE string,
|
lv_line_number_s TYPE string,
|
||||||
lv_line_number TYPE i.
|
lv_line_number TYPE i.
|
||||||
|
|
||||||
|
lv_temp = iv_action.
|
||||||
|
SHIFT lv_temp LEFT DELETING LEADING c_ci_sig.
|
||||||
|
|
||||||
CASE iv_action.
|
IF lv_temp <> iv_action. " CI navigation request detected
|
||||||
|
|
||||||
WHEN zif_abapgit_definitions=>c_action-abapgit_home.
|
SPLIT lv_temp AT c_object_separator INTO lv_main_object lv_sub_object lv_line_number_s.
|
||||||
RETURN.
|
|
||||||
|
|
||||||
WHEN OTHERS.
|
|
||||||
SPLIT iv_action AT c_object_separator INTO lv_main_object lv_sub_object lv_line_number_s.
|
|
||||||
ls_item-obj_type = lv_main_object(4).
|
ls_item-obj_type = lv_main_object(4).
|
||||||
ls_item-obj_name = lv_main_object+4(*).
|
ls_item-obj_name = lv_main_object+4(*).
|
||||||
|
|
||||||
|
@ -190,7 +213,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
||||||
|
|
||||||
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
||||||
|
|
||||||
ENDCASE.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -356,6 +356,11 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_MAIN IMPLEMENTATION.
|
||||||
ls_hotkey_action-default_hotkey = |d|.
|
ls_hotkey_action-default_hotkey = |d|.
|
||||||
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
|
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
|
||||||
|
|
||||||
|
ls_hotkey_action-name = |Run code inspector|.
|
||||||
|
ls_hotkey_action-action = zif_abapgit_definitions=>c_action-repo_code_inspector.
|
||||||
|
ls_hotkey_action-default_hotkey = |i|.
|
||||||
|
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,11 @@ CLASS zcl_abapgit_convert DEFINITION
|
||||||
iv_spras TYPE spras
|
iv_spras TYPE spras
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_spras) TYPE laiso.
|
VALUE(rv_spras) TYPE laiso.
|
||||||
|
CLASS-METHODS alpha_output
|
||||||
|
IMPORTING
|
||||||
|
iv_val TYPE clike
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_str) TYPE string.
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -55,6 +60,19 @@ ENDCLASS.
|
||||||
CLASS ZCL_ABAPGIT_CONVERT IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_CONVERT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD alpha_output.
|
||||||
|
|
||||||
|
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
|
||||||
|
EXPORTING
|
||||||
|
input = iv_val
|
||||||
|
IMPORTING
|
||||||
|
output = rv_str.
|
||||||
|
|
||||||
|
CONDENSE rv_str.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD bitbyte_to_int.
|
METHOD bitbyte_to_int.
|
||||||
|
|
||||||
DATA: lv_bitbyte TYPE string,
|
DATA: lv_bitbyte TYPE string,
|
||||||
|
|
|
@ -9,6 +9,7 @@ CLASS ltcl_convert DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FIN
|
||||||
METHODS convert_int FOR TESTING RAISING zcx_abapgit_exception.
|
METHODS convert_int FOR TESTING RAISING zcx_abapgit_exception.
|
||||||
METHODS split_string FOR TESTING.
|
METHODS split_string FOR TESTING.
|
||||||
METHODS convert_bitbyte FOR TESTING RAISING zcx_abapgit_exception.
|
METHODS convert_bitbyte FOR TESTING RAISING zcx_abapgit_exception.
|
||||||
|
METHODS alpha_output FOR TESTING.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -19,6 +20,21 @@ ENDCLASS.
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS ltcl_convert IMPLEMENTATION.
|
CLASS ltcl_convert IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD alpha_output.
|
||||||
|
|
||||||
|
DATA lv_alpha TYPE c LENGTH 10 VALUE '0000001234'.
|
||||||
|
DATA lv_numc TYPE n LENGTH 6 VALUE '001234'.
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = zcl_abapgit_convert=>alpha_output( lv_alpha )
|
||||||
|
exp = '1234' ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = zcl_abapgit_convert=>alpha_output( lv_numc )
|
||||||
|
exp = '1234' ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD convert_bitbyte.
|
METHOD convert_bitbyte.
|
||||||
|
|
||||||
DATA: lv_xstring TYPE xstring,
|
DATA: lv_xstring TYPE xstring,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user