mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Add show whole diff to the main page
This commit is contained in:
parent
201560cbbc
commit
67b6aaa5a8
|
@ -62,6 +62,17 @@ CLASS lcl_repo_content_browser DEFINITION FINAL.
|
||||||
|
|
||||||
ENDCLASS. "lcl_repo_content_browser
|
ENDCLASS. "lcl_repo_content_browser
|
||||||
|
|
||||||
|
DEFINE _reduce_state.
|
||||||
|
" &1 - prev, &2 - cur
|
||||||
|
IF &1 = &2 OR &2 IS INITIAL.
|
||||||
|
ASSERT 1 = 1. " No change
|
||||||
|
ELSEIF &1 IS INITIAL.
|
||||||
|
&1 = &2.
|
||||||
|
ELSE.
|
||||||
|
&1 = gc_state-mixed.
|
||||||
|
ENDIF.
|
||||||
|
END-OF-DEFINITION.
|
||||||
|
|
||||||
CLASS lcl_repo_content_browser IMPLEMENTATION.
|
CLASS lcl_repo_content_browser IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
@ -96,17 +107,6 @@ CLASS lcl_repo_content_browser IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "list
|
ENDMETHOD. "list
|
||||||
|
|
||||||
DEFINE _reduce_state.
|
|
||||||
" &1 - prev, &2 - cur
|
|
||||||
IF &1 = &2 OR &2 IS INITIAL.
|
|
||||||
ASSERT 1 = 1. " No change
|
|
||||||
ELSEIF &1 IS INITIAL.
|
|
||||||
&1 = &2.
|
|
||||||
ELSE.
|
|
||||||
&1 = gc_state-mixed.
|
|
||||||
ENDIF.
|
|
||||||
END-OF-DEFINITION.
|
|
||||||
|
|
||||||
METHOD build_folders.
|
METHOD build_folders.
|
||||||
|
|
||||||
DATA: lv_index TYPE i,
|
DATA: lv_index TYPE i,
|
||||||
|
@ -266,6 +266,8 @@ CLASS lcl_gui_view_repo_content DEFINITION FINAL INHERITING FROM lcl_gui_page_su
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
render_head_menu
|
render_head_menu
|
||||||
|
IMPORTING iv_lstate TYPE char1
|
||||||
|
iv_rstate TYPE char1
|
||||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
render_grid_menu
|
render_grid_menu
|
||||||
|
@ -348,6 +350,8 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
||||||
DATA: lt_repo_items TYPE lcl_repo_content_browser=>tt_repo_items,
|
DATA: lt_repo_items TYPE lcl_repo_content_browser=>tt_repo_items,
|
||||||
lo_browser TYPE REF TO lcl_repo_content_browser,
|
lo_browser TYPE REF TO lcl_repo_content_browser,
|
||||||
lx_error TYPE REF TO lcx_exception,
|
lx_error TYPE REF TO lcx_exception,
|
||||||
|
lv_lstate TYPE char1,
|
||||||
|
lv_rstate TYPE char1,
|
||||||
lo_log TYPE REF TO lcl_log.
|
lo_log TYPE REF TO lcl_log.
|
||||||
|
|
||||||
FIELD-SYMBOLS <ls_item> LIKE LINE OF lt_repo_items.
|
FIELD-SYMBOLS <ls_item> LIKE LINE OF lt_repo_items.
|
||||||
|
@ -364,7 +368,12 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
||||||
iv_by_folders = mv_show_folders
|
iv_by_folders = mv_show_folders
|
||||||
iv_changes_only = mv_changes_only ).
|
iv_changes_only = mv_changes_only ).
|
||||||
|
|
||||||
ro_html->add( render_head_menu( ) ).
|
LOOP AT lt_repo_items ASSIGNING <ls_item>.
|
||||||
|
_reduce_state lv_lstate <ls_item>-lstate.
|
||||||
|
_reduce_state lv_rstate <ls_item>-rstate.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ro_html->add( render_head_menu( iv_lstate = lv_lstate iv_rstate = lv_rstate ) ).
|
||||||
|
|
||||||
lo_log = lo_browser->get_log( ).
|
lo_log = lo_browser->get_log( ).
|
||||||
IF mo_repo->is_offline( ) = abap_false AND lo_log->count( ) > 0.
|
IF mo_repo->is_offline( ) = abap_false AND lo_log->count( ) > 0.
|
||||||
|
@ -395,7 +404,7 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
||||||
ro_html->add( '</div>' ).
|
ro_html->add( '</div>' ).
|
||||||
|
|
||||||
CATCH lcx_exception INTO lx_error.
|
CATCH lcx_exception INTO lx_error.
|
||||||
ro_html->add( render_head_menu( ) ).
|
ro_html->add( render_head_menu( iv_lstate = lv_lstate iv_rstate = lv_rstate ) ).
|
||||||
ro_html->add( lcl_gui_page_super=>render_error( lx_error ) ).
|
ro_html->add( lcl_gui_page_super=>render_error( lx_error ) ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
|
@ -502,16 +511,21 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
||||||
" Build main toolbar ==============================
|
" Build main toolbar ==============================
|
||||||
IF mo_repo->is_offline( ) = abap_false. " Online ?
|
IF mo_repo->is_offline( ) = abap_false. " Online ?
|
||||||
TRY.
|
TRY.
|
||||||
IF lo_repo_online->get_sha1_remote( ) <> lo_repo_online->get_sha1_local( ).
|
IF iv_rstate IS NOT INITIAL. " Something new at remote
|
||||||
lo_toolbar->add( iv_txt = 'Pull'
|
lo_toolbar->add( iv_txt = 'Pull'
|
||||||
iv_act = |{ gc_action-git_pull }?{ lv_key }|
|
iv_act = |{ gc_action-git_pull }?{ lv_key }|
|
||||||
iv_opt = lv_pull_opt ).
|
iv_opt = lv_pull_opt ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
IF lcl_stage_logic=>count( lo_repo_online ) > 0.
|
IF iv_lstate IS NOT INITIAL. " Something new at local
|
||||||
lo_toolbar->add( iv_txt = 'Stage'
|
lo_toolbar->add( iv_txt = 'Stage'
|
||||||
iv_act = |{ gc_action-go_stage }?{ lv_key }|
|
iv_act = |{ gc_action-go_stage }?{ lv_key }|
|
||||||
iv_opt = gc_html_opt-emphas ).
|
iv_opt = gc_html_opt-emphas ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
IF iv_rstate IS NOT INITIAL OR iv_lstate IS NOT INITIAL. " Any changes
|
||||||
|
lo_toolbar->add( iv_txt = 'Show diff'
|
||||||
|
iv_act = |{ gc_action-go_diff }?key={ lv_key }|
|
||||||
|
iv_opt = gc_html_opt-emphas ).
|
||||||
|
ENDIF.
|
||||||
CATCH lcx_exception ##NO_HANDLER.
|
CATCH lcx_exception ##NO_HANDLER.
|
||||||
" authorization error or repository does not exist
|
" authorization error or repository does not exist
|
||||||
" ignore error
|
" ignore error
|
||||||
|
|
Loading…
Reference in New Issue
Block a user