mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
add label F4 value help (#5891)
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
parent
693a264d70
commit
c40406930a
|
@ -272,6 +272,9 @@ CLASS lcl_repo_mock IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_repo_srv~validate_url.
|
METHOD zif_abapgit_repo_srv~validate_url.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
METHOD zif_abapgit_repo_srv~get_label_list.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_local_file_builder DEFINITION FINAL.
|
CLASS lcl_local_file_builder DEFINITION FINAL.
|
||||||
|
|
|
@ -676,4 +676,37 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo_srv~get_label_list.
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
lt_repo TYPE zif_abapgit_repo_srv=>ty_repo_list,
|
||||||
|
ls_local_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings,
|
||||||
|
lt_labels TYPE string_table,
|
||||||
|
ls_label LIKE LINE OF rt_labels.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS:
|
||||||
|
<ls_repo> TYPE REF TO zif_abapgit_repo,
|
||||||
|
<lv_label> TYPE LINE OF string_table.
|
||||||
|
|
||||||
|
lt_repo = zif_abapgit_repo_srv~list( ).
|
||||||
|
|
||||||
|
LOOP AT lt_repo ASSIGNING <ls_repo>.
|
||||||
|
|
||||||
|
ls_local_settings = <ls_repo>->get_local_settings( ).
|
||||||
|
lt_labels = zcl_abapgit_repo_labels=>split( ls_local_settings-labels ).
|
||||||
|
|
||||||
|
LOOP AT lt_labels ASSIGNING <lv_label>.
|
||||||
|
ls_label-label = <lv_label>.
|
||||||
|
INSERT ls_label INTO TABLE rt_labels.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
SORT rt_labels.
|
||||||
|
DELETE ADJACENT DUPLICATES FROM rt_labels.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -3,7 +3,13 @@ INTERFACE zif_abapgit_repo_srv
|
||||||
|
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
ty_repo_list TYPE STANDARD TABLE OF REF TO zif_abapgit_repo WITH DEFAULT KEY .
|
ty_repo_list TYPE STANDARD TABLE OF REF TO zif_abapgit_repo WITH DEFAULT KEY,
|
||||||
|
|
||||||
|
BEGIN OF ty_label,
|
||||||
|
label TYPE string,
|
||||||
|
END OF ty_label,
|
||||||
|
ty_labels TYPE STANDARD TABLE OF ty_label WITH NON-UNIQUE DEFAULT KEY
|
||||||
|
WITH NON-UNIQUE SORTED KEY key_label COMPONENTS label.
|
||||||
|
|
||||||
METHODS init.
|
METHODS init.
|
||||||
METHODS delete
|
METHODS delete
|
||||||
|
@ -99,4 +105,10 @@ INTERFACE zif_abapgit_repo_srv
|
||||||
!ev_reason TYPE string
|
!ev_reason TYPE string
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
METHODS get_label_list
|
||||||
|
RETURNING
|
||||||
|
VALUE(rt_labels) TYPE ty_labels
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -35,6 +35,7 @@ CLASS zcl_abapgit_gui_page_addofflin DEFINITION
|
||||||
BEGIN OF c_event,
|
BEGIN OF c_event,
|
||||||
go_back TYPE string VALUE 'go-back',
|
go_back TYPE string VALUE 'go-back',
|
||||||
choose_package TYPE string VALUE 'choose-package',
|
choose_package TYPE string VALUE 'choose-package',
|
||||||
|
choose_labels TYPE string VALUE 'choose-labels',
|
||||||
create_package TYPE string VALUE 'create-package',
|
create_package TYPE string VALUE 'create-package',
|
||||||
add_offline_repo TYPE string VALUE 'add-repo-offline',
|
add_offline_repo TYPE string VALUE 'add-repo-offline',
|
||||||
END OF c_event .
|
END OF c_event .
|
||||||
|
@ -55,6 +56,11 @@ CLASS zcl_abapgit_gui_page_addofflin DEFINITION
|
||||||
METHODS get_form_schema
|
METHODS get_form_schema
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_form) TYPE REF TO zcl_abapgit_html_form .
|
VALUE(ro_form) TYPE REF TO zcl_abapgit_html_form .
|
||||||
|
|
||||||
|
METHODS choose_labels
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,6 +125,7 @@ CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION.
|
||||||
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
iv_value = zif_abapgit_dot_abapgit=>c_folder_logic-mixed
|
||||||
)->text(
|
)->text(
|
||||||
iv_name = c_id-labels
|
iv_name = c_id-labels
|
||||||
|
iv_side_action = c_event-choose_labels
|
||||||
iv_label = |Labels (comma-separated, allowed chars: "{ zcl_abapgit_repo_labels=>c_allowed_chars }")|
|
iv_label = |Labels (comma-separated, allowed chars: "{ zcl_abapgit_repo_labels=>c_allowed_chars }")|
|
||||||
iv_hint = 'Comma-separated labels for grouping and repo organization (optional)'
|
iv_hint = 'Comma-separated labels for grouping and repo organization (optional)'
|
||||||
)->checkbox(
|
)->checkbox(
|
||||||
|
@ -163,6 +170,14 @@ CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION.
|
||||||
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic ) }| ).
|
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic ) }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
zcl_abapgit_repo_labels=>validate( io_form_data->get( c_id-labels ) ).
|
||||||
|
CATCH zcx_abapgit_exception INTO lx_err.
|
||||||
|
ro_validation_log->set(
|
||||||
|
iv_key = c_id-labels
|
||||||
|
iv_val = lx_err->get_text( ) ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -202,6 +217,11 @@ CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION.
|
||||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
WHEN c_event-choose_labels.
|
||||||
|
|
||||||
|
choose_labels( ).
|
||||||
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||||
|
|
||||||
WHEN c_event-add_offline_repo.
|
WHEN c_event-add_offline_repo.
|
||||||
|
|
||||||
mo_validation_log = validate_form( mo_form_data ).
|
mo_validation_log = validate_form( mo_form_data ).
|
||||||
|
@ -235,4 +255,22 @@ CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION.
|
||||||
ri_html->add( '</div>' ).
|
ri_html->add( '</div>' ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD choose_labels.
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
lv_old_labels TYPE string,
|
||||||
|
lv_new_labels TYPE string.
|
||||||
|
|
||||||
|
lv_old_labels = mo_form_data->get( c_id-labels ).
|
||||||
|
|
||||||
|
lv_new_labels = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_labels( lv_old_labels ).
|
||||||
|
|
||||||
|
mo_form_data->set(
|
||||||
|
iv_key = c_id-labels
|
||||||
|
iv_val = lv_new_labels ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -40,6 +40,7 @@ CLASS zcl_abapgit_gui_page_addonline DEFINITION
|
||||||
choose_package TYPE string VALUE 'choose-package',
|
choose_package TYPE string VALUE 'choose-package',
|
||||||
create_package TYPE string VALUE 'create-package',
|
create_package TYPE string VALUE 'create-package',
|
||||||
choose_branch TYPE string VALUE 'choose-branch',
|
choose_branch TYPE string VALUE 'choose-branch',
|
||||||
|
choose_labels TYPE string VALUE 'choose-labels',
|
||||||
add_online_repo TYPE string VALUE 'add-repo-online',
|
add_online_repo TYPE string VALUE 'add-repo-online',
|
||||||
END OF c_event.
|
END OF c_event.
|
||||||
|
|
||||||
|
@ -59,6 +60,11 @@ CLASS zcl_abapgit_gui_page_addonline DEFINITION
|
||||||
METHODS get_form_schema
|
METHODS get_form_schema
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_form) TYPE REF TO zcl_abapgit_html_form.
|
VALUE(ro_form) TYPE REF TO zcl_abapgit_html_form.
|
||||||
|
|
||||||
|
METHODS choose_labels
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -135,6 +141,7 @@ CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION.
|
||||||
iv_hint = 'Name to show instead of original repository name (optional)'
|
iv_hint = 'Name to show instead of original repository name (optional)'
|
||||||
)->text(
|
)->text(
|
||||||
iv_name = c_id-labels
|
iv_name = c_id-labels
|
||||||
|
iv_side_action = c_event-choose_labels
|
||||||
iv_label = |Labels (comma-separated, allowed chars: "{ zcl_abapgit_repo_labels=>c_allowed_chars }")|
|
iv_label = |Labels (comma-separated, allowed chars: "{ zcl_abapgit_repo_labels=>c_allowed_chars }")|
|
||||||
iv_hint = 'Comma-separated labels for grouping and repo organization (optional)'
|
iv_hint = 'Comma-separated labels for grouping and repo organization (optional)'
|
||||||
)->checkbox(
|
)->checkbox(
|
||||||
|
@ -195,6 +202,14 @@ CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION.
|
||||||
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic ) }| ).
|
iv_val = |Invalid folder logic { io_form_data->get( c_id-folder_logic ) }| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
zcl_abapgit_repo_labels=>validate( io_form_data->get( c_id-labels ) ).
|
||||||
|
CATCH zcx_abapgit_exception INTO lx_err.
|
||||||
|
ro_validation_log->set(
|
||||||
|
iv_key = c_id-labels
|
||||||
|
iv_val = lx_err->get_text( ) ).
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -260,6 +275,11 @@ CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION.
|
||||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
WHEN c_event-choose_labels.
|
||||||
|
|
||||||
|
choose_labels( ).
|
||||||
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||||
|
|
||||||
WHEN c_event-add_online_repo.
|
WHEN c_event-add_online_repo.
|
||||||
|
|
||||||
mo_validation_log = validate_form( mo_form_data ).
|
mo_validation_log = validate_form( mo_form_data ).
|
||||||
|
@ -292,4 +312,22 @@ CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION.
|
||||||
io_validation_log = mo_validation_log ) ).
|
io_validation_log = mo_validation_log ) ).
|
||||||
ri_html->add( '</div>' ).
|
ri_html->add( '</div>' ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD choose_labels.
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
lv_old_labels TYPE string,
|
||||||
|
lv_new_labels TYPE string.
|
||||||
|
|
||||||
|
lv_old_labels = mo_form_data->get( c_id-labels ).
|
||||||
|
|
||||||
|
lv_new_labels = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_labels( lv_old_labels ).
|
||||||
|
|
||||||
|
mo_form_data->set(
|
||||||
|
iv_key = c_id-labels
|
||||||
|
iv_val = lv_new_labels ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -40,7 +40,8 @@ CLASS zcl_abapgit_gui_page_sett_locl DEFINITION
|
||||||
END OF c_id .
|
END OF c_id .
|
||||||
CONSTANTS:
|
CONSTANTS:
|
||||||
BEGIN OF c_event,
|
BEGIN OF c_event,
|
||||||
save TYPE string VALUE 'save',
|
save TYPE string VALUE 'save',
|
||||||
|
choose_labels TYPE string VALUE 'choose-labels',
|
||||||
END OF c_event .
|
END OF c_event .
|
||||||
|
|
||||||
DATA mo_form TYPE REF TO zcl_abapgit_html_form .
|
DATA mo_form TYPE REF TO zcl_abapgit_html_form .
|
||||||
|
@ -69,11 +70,15 @@ CLASS zcl_abapgit_gui_page_sett_locl DEFINITION
|
||||||
METHODS save_settings
|
METHODS save_settings
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
METHODS choose_labels
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_LOCL IMPLEMENTATION.
|
CLASS zcl_abapgit_gui_page_sett_locl IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
@ -124,6 +129,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_LOCL IMPLEMENTATION.
|
||||||
iv_hint = 'Name to show instead of original repo name (optional)'
|
iv_hint = 'Name to show instead of original repo name (optional)'
|
||||||
)->text(
|
)->text(
|
||||||
iv_name = c_id-labels
|
iv_name = c_id-labels
|
||||||
|
iv_side_action = c_event-choose_labels
|
||||||
iv_label = |Labels (comma-separated, allowed chars: "{ zcl_abapgit_repo_labels=>c_allowed_chars }")|
|
iv_label = |Labels (comma-separated, allowed chars: "{ zcl_abapgit_repo_labels=>c_allowed_chars }")|
|
||||||
iv_hint = 'Comma-separated labels for grouping and repo organization (optional)'
|
iv_hint = 'Comma-separated labels for grouping and repo organization (optional)'
|
||||||
)->checkbox(
|
)->checkbox(
|
||||||
|
@ -268,6 +274,11 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_LOCL IMPLEMENTATION.
|
||||||
WHEN zif_abapgit_definitions=>c_action-go_back.
|
WHEN zif_abapgit_definitions=>c_action-go_back.
|
||||||
rs_handled-state = mo_form_util->exit( mo_form_data ).
|
rs_handled-state = mo_form_util->exit( mo_form_data ).
|
||||||
|
|
||||||
|
WHEN c_event-choose_labels.
|
||||||
|
|
||||||
|
choose_labels( ).
|
||||||
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||||
|
|
||||||
WHEN c_event-save.
|
WHEN c_event-save.
|
||||||
" Validate form entries before saving
|
" Validate form entries before saving
|
||||||
mo_validation_log = validate_form( mo_form_data ).
|
mo_validation_log = validate_form( mo_form_data ).
|
||||||
|
@ -307,4 +318,22 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_LOCL IMPLEMENTATION.
|
||||||
ri_html->add( `</div>` ).
|
ri_html->add( `</div>` ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD choose_labels.
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
lv_old_labels TYPE string,
|
||||||
|
lv_new_labels TYPE string.
|
||||||
|
|
||||||
|
lv_old_labels = mo_form_data->get( c_id-labels ).
|
||||||
|
|
||||||
|
lv_new_labels = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_labels( lv_old_labels ).
|
||||||
|
|
||||||
|
mo_form_data->set(
|
||||||
|
iv_key = c_id-labels
|
||||||
|
iv_val = lv_new_labels ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -100,6 +100,9 @@ CLASS ltcl_popups_mock IMPLEMENTATION.
|
||||||
METHOD zif_abapgit_popups~tag_list_popup.
|
METHOD zif_abapgit_popups~tag_list_popup.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_popups~popup_to_select_labels.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_test_form DEFINITION
|
CLASS ltcl_test_form DEFINITION
|
||||||
|
|
|
@ -65,16 +65,16 @@ CLASS zcl_abapgit_popups DEFINITION
|
||||||
EXPORTING
|
EXPORTING
|
||||||
!et_list TYPE INDEX TABLE .
|
!et_list TYPE INDEX TABLE .
|
||||||
METHODS on_select_list_link_click
|
METHODS on_select_list_link_click
|
||||||
FOR EVENT link_click OF cl_salv_events_table
|
FOR EVENT link_click OF cl_salv_events_table
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!row
|
!row
|
||||||
!column .
|
!column .
|
||||||
METHODS on_select_list_function_click
|
METHODS on_select_list_function_click
|
||||||
FOR EVENT added_function OF cl_salv_events_table
|
FOR EVENT added_function OF cl_salv_events_table
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!e_salv_function .
|
!e_salv_function .
|
||||||
METHODS on_double_click
|
METHODS on_double_click
|
||||||
FOR EVENT double_click OF cl_salv_events_table
|
FOR EVENT double_click OF cl_salv_events_table
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!row
|
!row
|
||||||
!column .
|
!column .
|
||||||
|
@ -975,7 +975,10 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
|
||||||
lo_table_header TYPE REF TO cl_salv_form_text.
|
lo_table_header TYPE REF TO cl_salv_form_text.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lt_table> TYPE STANDARD TABLE,
|
FIELD-SYMBOLS: <lt_table> TYPE STANDARD TABLE,
|
||||||
<ls_column_to_display> TYPE zif_abapgit_definitions=>ty_alv_column.
|
<ls_column_to_display> TYPE zif_abapgit_definitions=>ty_alv_column,
|
||||||
|
<lv_row> TYPE i,
|
||||||
|
<ls_line> TYPE any,
|
||||||
|
<lv_selected> TYPE data.
|
||||||
|
|
||||||
CLEAR: et_list.
|
CLEAR: et_list.
|
||||||
|
|
||||||
|
@ -984,6 +987,23 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
|
||||||
ASSIGN mr_table->* TO <lt_table>.
|
ASSIGN mr_table->* TO <lt_table>.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
LOOP AT it_preselected_rows ASSIGNING <lv_row>.
|
||||||
|
|
||||||
|
READ TABLE <lt_table> INDEX <lv_row> ASSIGNING <ls_line>.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Preselected row { <lv_row> } doesn't exist| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ASSIGN
|
||||||
|
COMPONENT c_fieldname_selected
|
||||||
|
OF STRUCTURE <ls_line>
|
||||||
|
TO <lv_selected>.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
<lv_selected> = abap_true.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
ms_position = center(
|
ms_position = center(
|
||||||
iv_width = iv_end_column - iv_start_column
|
iv_width = iv_end_column - iv_start_column
|
||||||
iv_height = iv_end_line - iv_start_line ).
|
iv_height = iv_end_line - iv_start_line ).
|
||||||
|
@ -1278,4 +1298,86 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_popups~popup_to_select_labels.
|
||||||
|
|
||||||
|
DATA:
|
||||||
|
lt_all_labels TYPE zif_abapgit_repo_srv=>ty_labels,
|
||||||
|
ls_label LIKE LINE OF lt_all_labels,
|
||||||
|
lt_current_labels TYPE string_table,
|
||||||
|
lt_selected_labels LIKE lt_all_labels,
|
||||||
|
lt_columns_to_display TYPE zif_abapgit_definitions=>ty_alv_column_tt,
|
||||||
|
lt_preselected_rows TYPE zif_abapgit_popups=>ty_rows,
|
||||||
|
ls_columns_to_display LIKE LINE OF lt_columns_to_display,
|
||||||
|
lv_save_tabix TYPE i,
|
||||||
|
li_popup TYPE REF TO zif_abapgit_popups.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <lv_label> TYPE zif_abapgit_repo_srv=>ty_label,
|
||||||
|
<lv_current_label> TYPE LINE OF string_table.
|
||||||
|
|
||||||
|
lt_current_labels = zcl_abapgit_repo_labels=>split( iv_labels ).
|
||||||
|
|
||||||
|
lt_all_labels = zcl_abapgit_repo_srv=>get_instance( )->get_label_list( ).
|
||||||
|
|
||||||
|
" Add labels which are not saved yet
|
||||||
|
LOOP AT lt_current_labels ASSIGNING <lv_current_label>.
|
||||||
|
|
||||||
|
READ TABLE lt_all_labels TRANSPORTING NO FIELDS
|
||||||
|
WITH KEY key_label
|
||||||
|
COMPONENTS label = <lv_current_label>.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
ls_label-label = <lv_current_label>.
|
||||||
|
INSERT ls_label INTO TABLE lt_all_labels.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
IF lines( lt_all_labels ) = 0.
|
||||||
|
zcx_abapgit_exception=>raise( |No labels maintained yet| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
SORT lt_all_labels.
|
||||||
|
DELETE ADJACENT DUPLICATES FROM lt_all_labels.
|
||||||
|
|
||||||
|
" Preselect current labels
|
||||||
|
LOOP AT lt_all_labels ASSIGNING <lv_label>.
|
||||||
|
|
||||||
|
lv_save_tabix = sy-tabix.
|
||||||
|
|
||||||
|
READ TABLE lt_current_labels TRANSPORTING NO FIELDS
|
||||||
|
WITH KEY table_line = <lv_label>-label.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
INSERT lv_save_tabix INTO TABLE lt_preselected_rows.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ls_columns_to_display-name = 'LABEL'.
|
||||||
|
ls_columns_to_display-text = 'Label'.
|
||||||
|
INSERT ls_columns_to_display INTO TABLE lt_columns_to_display.
|
||||||
|
|
||||||
|
li_popup = zcl_abapgit_ui_factory=>get_popups( ).
|
||||||
|
li_popup->popup_to_select_from_list(
|
||||||
|
EXPORTING
|
||||||
|
iv_header_text = 'Select labels'
|
||||||
|
iv_select_column_text = 'Add label'
|
||||||
|
it_list = lt_all_labels
|
||||||
|
iv_selection_mode = if_salv_c_selection_mode=>multiple
|
||||||
|
it_columns_to_display = lt_columns_to_display
|
||||||
|
it_preselected_rows = lt_preselected_rows
|
||||||
|
iv_start_column = 15
|
||||||
|
iv_end_column = 55
|
||||||
|
IMPORTING
|
||||||
|
et_list = lt_selected_labels ).
|
||||||
|
|
||||||
|
LOOP AT lt_selected_labels ASSIGNING <lv_label>.
|
||||||
|
IF rv_labels IS NOT INITIAL.
|
||||||
|
rv_labels = rv_labels && ','.
|
||||||
|
ENDIF.
|
||||||
|
rv_labels = rv_labels && <lv_label>-label.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -419,4 +419,8 @@ CLASS ltcl_popups_mock IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_popups~popup_to_select_labels.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -88,6 +88,10 @@ CLASS ltcl_abapgit_popups_mock IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_popups~popup_to_select_labels.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS ltcl_no_dependency_injection IMPLEMENTATION.
|
CLASS ltcl_no_dependency_injection IMPLEMENTATION.
|
||||||
|
|
|
@ -3,7 +3,8 @@ INTERFACE zif_abapgit_popups
|
||||||
|
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
ty_sval_tt TYPE STANDARD TABLE OF sval WITH DEFAULT KEY .
|
ty_sval_tt TYPE STANDARD TABLE OF sval WITH DEFAULT KEY,
|
||||||
|
ty_rows TYPE SORTED TABLE OF i WITH UNIQUE KEY table_line.
|
||||||
|
|
||||||
CONSTANTS c_new_branch_label TYPE string VALUE '+ create new ...' ##NO_TEXT.
|
CONSTANTS c_new_branch_label TYPE string VALUE '+ create new ...' ##NO_TEXT.
|
||||||
|
|
||||||
|
@ -99,6 +100,7 @@ INTERFACE zif_abapgit_popups
|
||||||
!iv_selection_mode TYPE salv_de_constant DEFAULT if_salv_c_selection_mode=>multiple
|
!iv_selection_mode TYPE salv_de_constant DEFAULT if_salv_c_selection_mode=>multiple
|
||||||
!iv_select_column_text TYPE csequence DEFAULT space
|
!iv_select_column_text TYPE csequence DEFAULT space
|
||||||
!it_columns_to_display TYPE zif_abapgit_definitions=>ty_alv_column_tt
|
!it_columns_to_display TYPE zif_abapgit_definitions=>ty_alv_column_tt
|
||||||
|
!it_preselected_rows TYPE ty_rows OPTIONAL
|
||||||
EXPORTING
|
EXPORTING
|
||||||
VALUE(et_list) TYPE STANDARD TABLE
|
VALUE(et_list) TYPE STANDARD TABLE
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -127,4 +129,9 @@ INTERFACE zif_abapgit_popups
|
||||||
METHODS popup_select_wb_tc_tr_and_tsk
|
METHODS popup_select_wb_tc_tr_and_tsk
|
||||||
RETURNING VALUE(rt_r_trkorr) TYPE zif_abapgit_definitions=>ty_trrngtrkor_tt
|
RETURNING VALUE(rt_r_trkorr) TYPE zif_abapgit_definitions=>ty_trrngtrkor_tt
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
METHODS popup_to_select_labels
|
||||||
|
IMPORTING iv_labels TYPE string OPTIONAL
|
||||||
|
RETURNING VALUE(rv_labels) TYPE string
|
||||||
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user