mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Add action column to repo overview (#3645)
* Add stage, patch buttons to repo overview * Fix abaplint * Add syntax check, code inspector * Add pull * constant naming * Last changes * lint * lint * Update abaplint.json * Update abaplint.json Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
ae30875b21
commit
144e53608d
|
@ -915,6 +915,8 @@ table.commit tr .title {
|
|||
.repo-overview { font-size: smaller; }
|
||||
.repo-overview tbody td { height: 2em; }
|
||||
.ro-detail { display: none; }
|
||||
.ro-action { width: 190px; }
|
||||
.ro-go { font-size: 150%; }
|
||||
|
||||
/* Branch Overview Page */
|
||||
.gitGraph-scrollWrapper, .gitGraph-Wrapper{
|
||||
|
|
|
@ -18,11 +18,11 @@ CLASS zcl_abapgit_gui_page_main DEFINITION
|
|||
PRIVATE SECTION.
|
||||
CONSTANTS:
|
||||
BEGIN OF c_actions,
|
||||
show TYPE string VALUE 'show' ##NO_TEXT,
|
||||
overview TYPE string VALUE 'overview',
|
||||
select TYPE string VALUE 'select',
|
||||
apply_filter TYPE string VALUE 'apply_filter',
|
||||
abapgit_home TYPE string VALUE 'abapgit_home',
|
||||
show TYPE string VALUE 'show' ##NO_TEXT,
|
||||
overview TYPE string VALUE 'overview',
|
||||
select TYPE string VALUE 'select',
|
||||
apply_filter TYPE string VALUE 'apply_filter',
|
||||
abapgit_home TYPE string VALUE 'abapgit_home',
|
||||
END OF c_actions.
|
||||
|
||||
DATA: mo_repo_overview TYPE REF TO zcl_abapgit_gui_repo_over,
|
||||
|
@ -31,6 +31,11 @@ CLASS zcl_abapgit_gui_page_main DEFINITION
|
|||
METHODS build_main_menu
|
||||
RETURNING VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar.
|
||||
|
||||
METHODS get_patch_page
|
||||
IMPORTING iv_getdata TYPE clike
|
||||
RETURNING VALUE(ri_page) TYPE REF TO zif_abapgit_gui_renderable
|
||||
RAISING zcx_abapgit_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -108,7 +113,8 @@ CLASS zcl_abapgit_gui_page_main IMPLEMENTATION.
|
|||
|
||||
mv_repo_key = lv_key.
|
||||
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_view_repo
|
||||
EXPORTING iv_key = lv_key.
|
||||
EXPORTING
|
||||
iv_key = lv_key.
|
||||
ev_state = zcl_abapgit_gui=>c_event_state-new_page.
|
||||
|
||||
WHEN zif_abapgit_definitions=>c_action-change_order_by.
|
||||
|
@ -126,6 +132,11 @@ CLASS zcl_abapgit_gui_page_main IMPLEMENTATION.
|
|||
mo_repo_overview->set_filter( it_postdata ).
|
||||
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
|
||||
WHEN zif_abapgit_definitions=>c_action-go_patch.
|
||||
|
||||
ei_page = get_patch_page( iv_getdata ).
|
||||
ev_state = zcl_abapgit_gui=>c_event_state-new_page.
|
||||
|
||||
WHEN OTHERS.
|
||||
|
||||
super->zif_abapgit_gui_event_handler~on_event(
|
||||
|
@ -141,6 +152,25 @@ CLASS zcl_abapgit_gui_page_main IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_patch_page.
|
||||
|
||||
DATA lv_key TYPE zif_abapgit_persistence=>ty_value.
|
||||
|
||||
FIND FIRST OCCURRENCE OF '=' IN iv_getdata.
|
||||
IF sy-subrc <> 0. " Not found ? -> just repo key in params
|
||||
lv_key = iv_getdata.
|
||||
ELSE.
|
||||
zcl_abapgit_html_action_utils=>stage_decode(
|
||||
EXPORTING iv_getdata = iv_getdata
|
||||
IMPORTING ev_key = lv_key ).
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT ri_page TYPE zcl_abapgit_gui_page_patch
|
||||
EXPORTING
|
||||
iv_key = lv_key.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_gui_hotkeys~get_hotkey_actions.
|
||||
|
||||
|
|
|
@ -97,9 +97,13 @@ CLASS zcl_abapgit_gui_repo_over DEFINITION
|
|||
apply_order_by
|
||||
CHANGING ct_overview TYPE tty_overview,
|
||||
|
||||
_add_col
|
||||
_add_column
|
||||
IMPORTING
|
||||
iv_descriptor TYPE string.
|
||||
iv_tech_name TYPE string OPTIONAL
|
||||
iv_display_name TYPE string OPTIONAL
|
||||
iv_css_class TYPE string OPTIONAL
|
||||
iv_add_tz TYPE abap_bool OPTIONAL
|
||||
iv_title TYPE string OPTIONAL.
|
||||
|
||||
METHODS render_scripts
|
||||
RETURNING
|
||||
|
@ -110,7 +114,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_GUI_REPO_OVER IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_gui_repo_over IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD apply_filter.
|
||||
|
@ -291,12 +295,17 @@ CLASS ZCL_ABAPGIT_GUI_REPO_OVER IMPLEMENTATION.
|
|||
|
||||
METHOD render_table_body.
|
||||
|
||||
CONSTANTS: lc_separator TYPE string VALUE `<span class="separator">|</span>`.
|
||||
|
||||
DATA:
|
||||
lv_type_icon TYPE string,
|
||||
lv_favorite_icon TYPE string,
|
||||
lv_favorite_class TYPE string,
|
||||
lv_package_jump_data TYPE string,
|
||||
lv_package_obj_name TYPE sobj_name.
|
||||
lv_type_icon TYPE string,
|
||||
lv_favorite_icon TYPE string,
|
||||
lv_favorite_class TYPE string,
|
||||
lv_package_jump_data TYPE string,
|
||||
lv_package_obj_name TYPE sobj_name,
|
||||
lv_stage_link TYPE string,
|
||||
lv_patch_link TYPE string,
|
||||
lv_code_inspector_link TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_overview> LIKE LINE OF it_overview.
|
||||
|
||||
|
@ -356,6 +365,30 @@ CLASS ZCL_ABAPGIT_GUI_REPO_OVER IMPLEMENTATION.
|
|||
ii_html->add( |<td class="ro-detail">{ <ls_overview>-created_by }</td>| ).
|
||||
ii_html->add( |<td class="ro-detail">{ <ls_overview>-created_at }</td>| ).
|
||||
ii_html->add( |<td class="ro-detail">{ <ls_overview>-key }</td>| ).
|
||||
|
||||
ii_html->add( |<td class='ro-action'> | ).
|
||||
|
||||
lv_stage_link = ii_html->a(
|
||||
iv_txt = |Stage|
|
||||
iv_act = |{ zif_abapgit_definitions=>c_action-go_stage }?{ <ls_overview>-key } | ).
|
||||
|
||||
lv_patch_link = ii_html->a(
|
||||
iv_txt = |Patch|
|
||||
iv_act = |{ zif_abapgit_definitions=>c_action-go_patch }?{ <ls_overview>-key } | ).
|
||||
|
||||
lv_code_inspector_link = ii_html->a(
|
||||
iv_txt = |Code inspector|
|
||||
iv_act = |{ zif_abapgit_definitions=>c_action-repo_code_inspector }?{ <ls_overview>-key } | ).
|
||||
|
||||
ii_html->add( lv_code_inspector_link && lc_separator && lv_stage_link && lc_separator && lv_patch_link ).
|
||||
|
||||
ii_html->add( |</td>| ).
|
||||
|
||||
ii_html->add( |<td class='ro-go'><span>{
|
||||
zcl_abapgit_html=>a(
|
||||
iv_txt = `›`
|
||||
iv_act = |{ c_action-select }?{ <ls_overview>-key }| ) }</span></td>| ).
|
||||
|
||||
ii_html->add( |</tr>| ).
|
||||
|
||||
ENDLOOP.
|
||||
|
@ -368,18 +401,67 @@ CLASS ZCL_ABAPGIT_GUI_REPO_OVER IMPLEMENTATION.
|
|||
METHOD render_table_header.
|
||||
|
||||
CLEAR mt_col_spec.
|
||||
" technical name /display name /css class /add timezone
|
||||
_add_col( 'FAVORITE / /wmin / ' ).
|
||||
_add_col( 'TYPE / /wmin / ' ).
|
||||
_add_col( 'NAME /Name / / ' ).
|
||||
_add_col( 'URL /Url / / ' ).
|
||||
_add_col( 'PACKAGE /Package / / ' ).
|
||||
_add_col( 'BRANCH /Branch / / ' ).
|
||||
_add_col( 'DESERIALIZED_BY /Deserialized by /ro-detail / ' ).
|
||||
_add_col( 'DESERIALIZED_AT /Deserialized at /ro-detail /X' ).
|
||||
_add_col( 'CREATED_BY /Created by /ro-detail / ' ).
|
||||
_add_col( 'CREATED_AT /Created at /ro-detail /X' ).
|
||||
_add_col( 'KEY /Key /ro-detail / ' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'FAVORITE'
|
||||
iv_css_class = 'wmin' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'TYPE'
|
||||
iv_css_class = 'wmin' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'NAME'
|
||||
iv_display_name = 'Name' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'URL'
|
||||
iv_display_name = 'Url' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'PACKAGE'
|
||||
iv_display_name = 'Package' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'BRANCH'
|
||||
iv_display_name = 'Branch' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'DESERIALIZED_BY'
|
||||
iv_display_name = 'Deserialized by'
|
||||
iv_css_class = 'ro-detail' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'DESERIALIZED_AT'
|
||||
iv_display_name = 'Deserialized at'
|
||||
iv_css_class = 'ro-detail'
|
||||
iv_add_tz = abap_true ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'CREATED_BY'
|
||||
iv_display_name = 'Created by'
|
||||
iv_css_class = 'ro-detail' ).
|
||||
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'CREATED_TAT'
|
||||
iv_display_name = 'Created at'
|
||||
iv_css_class = 'ro-detail'
|
||||
iv_add_tz = abap_true ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'KEY'
|
||||
iv_display_name = 'Key'
|
||||
iv_css_class = 'ro-detail' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'ACTION'
|
||||
iv_display_name = 'Action'
|
||||
iv_css_class = 'ro-action' ).
|
||||
|
||||
_add_column(
|
||||
iv_tech_name = 'GO'
|
||||
iv_css_class = 'ro-go' ).
|
||||
|
||||
ii_html->add( |<thead>| ).
|
||||
ii_html->add( |<tr>| ).
|
||||
|
@ -459,19 +541,15 @@ CLASS ZCL_ABAPGIT_GUI_REPO_OVER IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD _add_col.
|
||||
METHOD _add_column.
|
||||
|
||||
FIELD-SYMBOLS <ls_col> LIKE LINE OF mt_col_spec.
|
||||
APPEND INITIAL LINE TO mt_col_spec ASSIGNING <ls_col>.
|
||||
SPLIT iv_descriptor AT '/' INTO
|
||||
<ls_col>-tech_name
|
||||
<ls_col>-display_name
|
||||
<ls_col>-css_class
|
||||
<ls_col>-add_tz.
|
||||
CONDENSE <ls_col>-tech_name.
|
||||
CONDENSE <ls_col>-display_name.
|
||||
CONDENSE <ls_col>-css_class.
|
||||
CONDENSE <ls_col>-add_tz.
|
||||
|
||||
<ls_col>-display_name = iv_display_name.
|
||||
<ls_col>-tech_name = iv_tech_name.
|
||||
<ls_col>-title = iv_title.
|
||||
<ls_col>-css_class = iv_css_class.
|
||||
<ls_col>-add_tz = iv_add_tz.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user