mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
Patch: Remember patched lines when cancel Commit (#3212)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
5067e403b7
commit
109c8c3be4
|
@ -63,6 +63,7 @@ CLASS zcl_abapgit_html DEFINITION
|
|||
METHODS checkbox
|
||||
IMPORTING
|
||||
iv_id TYPE string
|
||||
iv_checked TYPE abap_bool OPTIONAL
|
||||
RETURNING
|
||||
VALUE(rv_html) TYPE string.
|
||||
|
||||
|
@ -84,7 +85,13 @@ CLASS ZCL_ABAPGIT_HTML IMPLEMENTATION.
|
|||
|
||||
METHOD checkbox.
|
||||
|
||||
rv_html = |<input type="checkbox" id="{ iv_id }">|.
|
||||
DATA: lv_checked TYPE string.
|
||||
|
||||
IF iv_checked = abap_true.
|
||||
lv_checked = |checked|.
|
||||
ENDIF.
|
||||
|
||||
rv_html = |<input type="checkbox" id="{ iv_id }" { lv_checked }>|.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -308,7 +315,8 @@ CLASS ZCL_ABAPGIT_HTML IMPLEMENTATION.
|
|||
|
||||
METHOD zif_abapgit_html~add_checkbox.
|
||||
|
||||
add( checkbox( iv_id ) ).
|
||||
add( checkbox( iv_id = iv_id
|
||||
iv_checked = iv_checked ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -38,7 +38,8 @@ INTERFACE zif_abapgit_html PUBLIC.
|
|||
!iv_title TYPE string OPTIONAL.
|
||||
METHODS add_checkbox
|
||||
IMPORTING
|
||||
iv_id TYPE string.
|
||||
iv_id TYPE string
|
||||
iv_checked TYPE abap_bool OPTIONAL.
|
||||
CLASS-METHODS a
|
||||
IMPORTING
|
||||
!iv_txt TYPE string
|
||||
|
|
|
@ -113,7 +113,9 @@ CLASS zcl_abapgit_gui_page_diff DEFINITION
|
|||
iv_patch_line_possible TYPE abap_bool
|
||||
iv_filename TYPE string
|
||||
is_diff_line TYPE zif_abapgit_definitions=>ty_diff
|
||||
iv_index TYPE sy-tabix.
|
||||
iv_index TYPE sy-tabix
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
METHODS start_staging
|
||||
IMPORTING
|
||||
it_postdata TYPE cnht_post_data_tab
|
||||
|
@ -981,17 +983,19 @@ CLASS zcl_abapgit_gui_page_diff IMPLEMENTATION.
|
|||
patch TYPE string VALUE `patch` ##NO_TEXT,
|
||||
END OF c_css_class.
|
||||
|
||||
DATA: lv_id TYPE string,
|
||||
lv_object TYPE string.
|
||||
DATA: lv_id TYPE string,
|
||||
lv_patched TYPE abap_bool.
|
||||
|
||||
lv_object = iv_filename.
|
||||
lv_patched = get_diff_object( iv_filename )->is_line_patched( iv_index ).
|
||||
|
||||
IF iv_patch_line_possible = abap_true.
|
||||
|
||||
lv_id = |{ lv_object }_{ mv_section_count }_{ iv_index }|.
|
||||
lv_id = |{ iv_filename }_{ mv_section_count }_{ iv_index }|.
|
||||
|
||||
io_html->add( |<td class="{ c_css_class-patch }">| ).
|
||||
io_html->add_checkbox( iv_id = |patch_line_{ lv_id }| ).
|
||||
io_html->add_checkbox(
|
||||
iv_id = |patch_line_{ lv_id }|
|
||||
iv_checked = lv_patched ).
|
||||
io_html->add( |</td>| ).
|
||||
|
||||
ELSE.
|
||||
|
|
|
@ -32,6 +32,13 @@ CLASS zcl_abapgit_diff DEFINITION
|
|||
METHODS get_beacons
|
||||
RETURNING
|
||||
VALUE(rt_beacons) TYPE zif_abapgit_definitions=>ty_string_tt .
|
||||
METHODS is_line_patched
|
||||
IMPORTING
|
||||
iv_index TYPE i
|
||||
RETURNING
|
||||
VALUE(rv_patched) TYPE abap_bool
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
PROTECTED SECTION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
@ -412,4 +419,19 @@ CLASS zcl_abapgit_diff IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_line_patched.
|
||||
|
||||
FIELD-SYMBOLS: <ls_diff> TYPE zif_abapgit_definitions=>ty_diff.
|
||||
|
||||
READ TABLE mt_diff INDEX iv_index
|
||||
ASSIGNING <ls_diff>.
|
||||
IF sy-subrc = 0.
|
||||
rv_patched = <ls_diff>-patch_flag.
|
||||
ELSE.
|
||||
zcx_abapgit_exception=>raise( |Diff line not found { iv_index }| ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user