From 24b7e4faf633af537e1e3b818dd940cf4e1869b3 Mon Sep 17 00:00:00 2001 From: Marc Bernard Date: Sun, 30 Mar 2025 18:55:01 +0000 Subject: [PATCH] Add "Refresh" to repository list Initialize repo list from database --- src/ui/lib/zcl_abapgit_gui_buttons.clas.abap | 17 ++++++++++++++--- .../zcl_abapgit_gui_page_repo_over.clas.abap | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/ui/lib/zcl_abapgit_gui_buttons.clas.abap b/src/ui/lib/zcl_abapgit_gui_buttons.clas.abap index f1a437e63..93d30c86b 100644 --- a/src/ui/lib/zcl_abapgit_gui_buttons.clas.abap +++ b/src/ui/lib/zcl_abapgit_gui_buttons.clas.abap @@ -1,9 +1,10 @@ CLASS zcl_abapgit_gui_buttons DEFINITION PUBLIC FINAL - CREATE PUBLIC . + CREATE PUBLIC. PUBLIC SECTION. + CLASS-METHODS new_online RETURNING VALUE(rv_html_string) TYPE string. @@ -28,6 +29,9 @@ CLASS zcl_abapgit_gui_buttons DEFINITION CLASS-METHODS experimental RETURNING VALUE(rv_html_string) TYPE string. + CLASS-METHODS refresh + RETURNING VALUE(rv_html_string) TYPE string. + PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. @@ -51,6 +55,11 @@ CLASS zcl_abapgit_gui_buttons IMPLEMENTATION. ENDMETHOD. + METHOD flow. + rv_html_string = zcl_abapgit_html=>icon( 'flow' ) && ' Flow'. + ENDMETHOD. + + METHOD help. rv_html_string = zcl_abapgit_html=>icon( iv_name = 'question-circle-solid' @@ -68,8 +77,10 @@ CLASS zcl_abapgit_gui_buttons IMPLEMENTATION. ENDMETHOD. - METHOD flow. - rv_html_string = zcl_abapgit_html=>icon( 'flow' ) && ' Flow'. + METHOD refresh. + rv_html_string = zcl_abapgit_html=>icon( + iv_name = 'redo-alt-solid' + iv_hint = 'Refresh' ). ENDMETHOD. diff --git a/src/ui/pages/zcl_abapgit_gui_page_repo_over.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_repo_over.clas.abap index 6b79e09d3..46e2dc81d 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_repo_over.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_repo_over.clas.abap @@ -56,6 +56,7 @@ CLASS zcl_abapgit_gui_page_repo_over DEFINITION select TYPE string VALUE 'select', apply_filter TYPE string VALUE 'apply_filter', label_filter TYPE string VALUE 'label_filter', + refresh_list TYPE string VALUE 'refresh_list', END OF c_action, c_label_filter_prefix TYPE string VALUE `label:`, c_raw_field_suffix TYPE string VALUE `_RAW` ##NO_TEXT. @@ -932,6 +933,11 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. save_settings( ). rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render. + WHEN c_action-refresh_list. + + zcl_abapgit_repo_srv=>get_instance( )->init( ). + rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render. + ENDCASE. ENDMETHOD. @@ -983,6 +989,11 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. ls_hotkey_action-hotkey = |a|. INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions. + ls_hotkey_action-description = |Refresh|. + ls_hotkey_action-action = c_action-refresh_list. + ls_hotkey_action-hotkey = |r|. + INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions. + " registered/handled in js ls_hotkey_action-description = |Previous Repository|. ls_hotkey_action-action = `#`. @@ -1024,6 +1035,9 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. )->add( iv_txt = zcl_abapgit_gui_buttons=>settings( ) iv_act = zif_abapgit_definitions=>c_action-go_settings + )->add( + iv_txt = zcl_abapgit_gui_buttons=>refresh( ) + iv_act = c_action-refresh_list )->add( iv_txt = zcl_abapgit_gui_buttons=>advanced( ) io_sub = zcl_abapgit_gui_menus=>advanced( )