diff --git a/src/ui/zabapgit_css_common.w3mi.data.css b/src/ui/zabapgit_css_common.w3mi.data.css index 3789c8c7d..dfe868544 100644 --- a/src/ui/zabapgit_css_common.w3mi.data.css +++ b/src/ui/zabapgit_css_common.w3mi.data.css @@ -292,33 +292,43 @@ table.repo_tab { padding-top: 2px; padding-bottom: 2px; } + .repo_tab td.icon { width: 1px; text-align: center; padding-left: 8px; padding-right: 4px; } -.repo_tab td.icon:not(:first-child) { - width: 26px; + +.repo_tab td.transport { + width: 140px; text-align: left; } .repo_tab td.type { width: 4em; padding-left: 0.5em; } + +.repo_tab td.filename{ + padding-left: 1em; +} + .repo_tab td.object { padding-left: 0.5em; } + .repo_tab td.files { padding-left: 0.5em; line-height: 1.5; } + .repo_tab td.cmd, .repo_tab th.cmd { text-align: right; padding-left: 0.5em; padding-right: 0.7em; min-width: 70px; } + .repo_tab th.cmd .icon{ padding-right: 8px; } diff --git a/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap b/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap index 936718f5c..aa89b2942 100644 --- a/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap @@ -78,6 +78,11 @@ CLASS zcl_abapgit_gui_page_repo_view DEFINITION !is_item TYPE zif_abapgit_definitions=>ty_repo_item RETURNING VALUE(ri_html) TYPE REF TO zif_abapgit_html . + METHODS render_file_command + IMPORTING + !is_file TYPE zif_abapgit_definitions=>ty_repo_file + RETURNING + VALUE(ri_html) TYPE REF TO zif_abapgit_html . METHODS get_item_class IMPORTING !is_item TYPE zif_abapgit_definitions=>ty_repo_item @@ -88,7 +93,7 @@ CLASS zcl_abapgit_gui_page_repo_view DEFINITION !is_item TYPE zif_abapgit_definitions=>ty_repo_item RETURNING VALUE(rv_html) TYPE string . - METHODS render_item_lock_column + METHODS render_item_transport IMPORTING !is_item TYPE zif_abapgit_definitions=>ty_repo_item RETURNING @@ -237,7 +242,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. INSERT ls_sort INTO TABLE lt_sort. ENDIF. - IF mv_order_by = 'PATH'. + IF mv_order_by = 'TRANSPORT'. ls_sort-name = 'OBJ_NAME'. INSERT ls_sort INTO TABLE lt_sort. ENDIF. @@ -249,7 +254,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. INSERT LINES OF lt_diff_items INTO TABLE ct_repo_items. INSERT LINES OF lt_code_items INTO TABLE ct_repo_items. - IF mv_order_by = 'PATH'. + IF mv_order_by = 'TRANSPORT'. LOOP AT ct_repo_items ASSIGNING . order_files( CHANGING ct_files = -files ). ENDLOOP. @@ -773,7 +778,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. ls_sort-descending = mv_order_descending. ls_sort-astext = abap_true. - ls_sort-name = 'PATH'. + ls_sort-name = 'TRANSPORT'. INSERT ls_sort INTO TABLE lt_sort. ls_sort-descending = mv_order_descending. @@ -886,7 +891,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. ENDLOOP. IF mv_changes_only = abap_true. - ri_html->add( `` ). + ri_html->add( `` ). ri_html->add( `(Only changes are shown. ` ). ri_html->add( ri_html->a( iv_txt = |Show All| @@ -965,29 +970,19 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. METHOD render_item. - DATA: lv_link TYPE string, - lv_colspan TYPE i. + DATA: lv_link TYPE string. CREATE OBJECT ri_html TYPE zcl_abapgit_html. - IF iv_render_transports = abap_false. - lv_colspan = 2. - ELSE. - lv_colspan = 3. - ENDIF. - ri_html->add( || ). IF is_item-obj_name IS INITIAL AND is_item-is_dir = abap_false. - ri_html->add( || + ri_html->add( || && '' && 'non-code and meta files' && '' ). ELSE. ri_html->add( |{ get_item_icon( is_item ) }| ). - IF iv_render_transports = abap_true. - ri_html->add( render_item_lock_column( is_item ) ). - ENDIF. IF is_item-is_dir = abap_true. " Subdir lv_link = build_dir_jump_link( is_item-path ). @@ -1004,10 +999,9 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. ri_html->add( render_item_changed_by( is_item ) ). ri_html->add( '' ). - " Files - ri_html->add( '' ). - ri_html->add( render_item_files( is_item ) ). - ri_html->add( '' ). + IF iv_render_transports = abap_true. + ri_html->add( render_item_transport( is_item ) ). + ENDIF. " Command ri_html->add( '' ). @@ -1018,6 +1012,8 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. ri_html->add( '' ). + ri_html->add( render_item_files( is_item ) ). + ENDMETHOD. @@ -1041,7 +1037,6 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. CREATE OBJECT ri_html TYPE zcl_abapgit_html. IF is_item-is_dir = abap_true. " Directory - ri_html->add( '
' ). ri_html->add( |{ is_item-changes } changes| ). ri_html->add( zcl_abapgit_gui_chunk_lib=>render_item_state( iv_lstate = is_item-lstate @@ -1049,7 +1044,6 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. ri_html->add( '
' ). ELSEIF is_item-changes > 0. - IF mv_hide_files = abap_true AND is_item-obj_name IS NOT INITIAL. lv_difflink = zcl_abapgit_html_action_utils=>obj_encode( @@ -1063,30 +1057,34 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. iv_rstate = is_item-rstate ) ). ri_html->add( '' ). - ELSE. - LOOP AT is_item-files INTO ls_file. - - ri_html->add( '
' ). - IF ls_file-is_changed = abap_true. - lv_difflink = zcl_abapgit_html_action_utils=>file_encode( - iv_key = mo_repo->get_key( ) - ig_file = ls_file ). - ri_html->add_a( iv_txt = 'diff' - iv_act = |{ zif_abapgit_definitions=>c_action-go_file_diff }?{ lv_difflink }| ). - ri_html->add( zcl_abapgit_gui_chunk_lib=>render_item_state( iv_lstate = ls_file-lstate - iv_rstate = ls_file-rstate ) ). - ELSE. - ri_html->add( ' ' ). - ENDIF. - ri_html->add( '
' ). - - ENDLOOP. ENDIF. ENDIF. ENDMETHOD. + METHOD render_file_command. + + DATA: lv_difflink TYPE string. + + CREATE OBJECT ri_html TYPE zcl_abapgit_html. + + ri_html->add( '
' ). + IF is_file-is_changed = abap_true. + lv_difflink = zcl_abapgit_html_action_utils=>file_encode( + iv_key = mo_repo->get_key( ) + ig_file = is_file ). + ri_html->add_a( iv_txt = 'diff' + iv_act = |{ zif_abapgit_definitions=>c_action-go_file_diff }?{ lv_difflink }| ). + ri_html->add( zcl_abapgit_gui_chunk_lib=>render_item_state( iv_lstate = is_file-lstate + iv_rstate = is_file-rstate ) ). + ELSE. + ri_html->add( ' ' ). + ENDIF. + ri_html->add( '
' ). + + ENDMETHOD. + METHOD render_item_files. @@ -1102,17 +1100,45 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. li_exit = zcl_abapgit_exit=>get_instance( ). LOOP AT is_item-files INTO ls_file. + ri_html->add( || ). + + ri_html->add( || ). + + ri_html->add( || ). + ri_html->add( || ). + IF mv_show_folders = abap_true. ri_html->add( |
{ li_exit->adjust_display_filename( ls_file-filename ) }
| ). ELSE. ri_html->add( |
{ li_exit->adjust_display_filename( ls_file-path && ls_file-filename ) }
| ). ENDIF. + + ri_html->add( || ). + + " Changed by (not applicable to file) + ri_html->add( '' ). + ri_html->add( '' ). + + " Transport (not applicable to file) + IF mv_are_changes_recorded_in_tr = abap_true. + ri_html->add( `` ). + ENDIF. + + " Command + ri_html->add( '' ). + IF mo_repo->has_remote_source( ) = abap_true. + ri_html->add( render_file_command( ls_file ) ). + ENDIF. + ri_html->add( '' ). + + ri_html->add( '' ). + ENDLOOP. ENDMETHOD. - METHOD render_item_lock_column. + METHOD render_item_transport. DATA: ls_item TYPE zif_abapgit_definitions=>ty_item, @@ -1120,17 +1146,15 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. CREATE OBJECT ri_html TYPE zcl_abapgit_html. - ri_html->add( '' ). + ri_html->add( '' ). ls_item-obj_type = is_item-obj_type. ls_item-obj_name = is_item-obj_name. TRY. lv_transport = zcl_abapgit_factory=>get_cts_api( )->get_transport_for_object( ls_item ). - IF lv_transport IS NOT INITIAL. - ri_html->add( zcl_abapgit_gui_chunk_lib=>render_transport( iv_transport = lv_transport - iv_icon_only = abap_true ) ). + ri_html->add( zcl_abapgit_gui_chunk_lib=>render_transport( iv_transport = lv_transport ) ). ENDIF. CATCH zcx_abapgit_exception ##NO_HANDLER. " Ignore errors related to object check when trying to get transport @@ -1150,10 +1174,8 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. CREATE OBJECT ri_html TYPE zcl_abapgit_html. + " icon APPEND INITIAL LINE TO lt_col_spec. - IF mv_are_changes_recorded_in_tr = abap_true. - APPEND INITIAL LINE TO lt_col_spec. - ENDIF. ls_col_spec-tech_name = 'OBJ_TYPE'. ls_col_spec-display_name = 'Type'. @@ -1170,10 +1192,12 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. ls_col_spec-allow_order_by = abap_true. APPEND ls_col_spec TO lt_col_spec. - ls_col_spec-tech_name = 'PATH'. - ls_col_spec-display_name = 'Path'. - ls_col_spec-allow_order_by = abap_true. - APPEND ls_col_spec TO lt_col_spec. + IF mv_are_changes_recorded_in_tr = abap_true. + ls_col_spec-tech_name = 'TRANSPORT'. + ls_col_spec-display_name = 'Transport'. + ls_col_spec-allow_order_by = abap_true. + APPEND ls_col_spec TO lt_col_spec. + ENDIF. ls_col_spec-tech_name = 'LSTATE'. ls_col_spec-display_name = 'Status'.