diff --git a/src/ui/zcl_abapgit_gui_page_repo_over.clas.abap b/src/ui/zcl_abapgit_gui_page_repo_over.clas.abap index 0e67de721..42fc220d4 100644 --- a/src/ui/zcl_abapgit_gui_page_repo_over.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_repo_over.clas.abap @@ -199,6 +199,15 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. ENDMETHOD. + METHOD column. + IF iv_css_class IS NOT INITIAL. + rv_html = || && iv_content && ||. + ELSE. + rv_html = || && iv_content && ||. + ENDIF. + ENDMETHOD. + + METHOD constructor. super->constructor( ). @@ -216,6 +225,11 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. ENDMETHOD. + METHOD get_only_favorites. + rv_result = mv_only_favorites. + ENDMETHOD. + + METHOD map_repo_list_to_overview. DATA: ls_overview LIKE LINE OF rt_overview, @@ -275,6 +289,97 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. ENDMETHOD. + METHOD render_actions. + + CONSTANTS: + lc_dummy_key TYPE string VALUE `?key=#`, + lc_offline_class TYPE string VALUE `action_offline_repo`, + lc_online_class TYPE string VALUE `action_online_repo`, + lc_action_class TYPE string VALUE `action_link`. + + DATA lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar. + DATA lo_toolbar_more_sub TYPE REF TO zcl_abapgit_html_toolbar. + + CREATE OBJECT lo_toolbar EXPORTING iv_id = 'toolbar-ovp'. + + lo_toolbar->add( iv_txt = |Pull| + iv_act = |{ zif_abapgit_definitions=>c_action-git_reset }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_online_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar->add( iv_txt = |Stage| + iv_act = |{ zif_abapgit_definitions=>c_action-go_stage }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_online_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar->add( iv_txt = |Patch| + iv_act = |{ zif_abapgit_definitions=>c_action-go_patch }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_online_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar->add( iv_txt = |Diff| + iv_act = |{ zif_abapgit_definitions=>c_action-go_repo_diff }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_online_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar->add( iv_txt = |Check| + iv_act = |{ zif_abapgit_definitions=>c_action-repo_code_inspector }{ lc_dummy_key }| + iv_class = |{ lc_action_class }| + iv_li_class = |{ lc_action_class }| ). + + + lo_toolbar->add( iv_txt = |Import| + iv_act = |{ zif_abapgit_definitions=>c_action-zip_import }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_offline_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar->add( iv_txt = |Export| + iv_act = |{ zif_abapgit_definitions=>c_action-zip_export }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_offline_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar->add( iv_txt = |Settings| + iv_act = |{ zif_abapgit_definitions=>c_action-repo_settings }{ lc_dummy_key }| + iv_class = |{ lc_action_class }| + iv_li_class = |{ lc_action_class }| ). + + CREATE OBJECT lo_toolbar_more_sub EXPORTING iv_id = 'toolbar-ovp-more_sub'. + + lo_toolbar_more_sub->add( iv_txt = |Stage by Transport| + iv_act = |{ zif_abapgit_definitions=>c_action-go_stage_transport }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_online_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar_more_sub->add( iv_txt = |Export by Transport| + iv_act = |{ zif_abapgit_definitions=>c_action-zip_export_transport }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_offline_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar_more_sub->add( iv_txt = 'Danger' + iv_typ = zif_abapgit_html=>c_action_type-separator ). + + lo_toolbar_more_sub->add( iv_txt = |Remove| + iv_title = |Remove abapGit's records of the repository (the system's | + && |development objects will remain unaffected)| + iv_act = |{ zif_abapgit_definitions=>c_action-repo_remove }{ lc_dummy_key }| ). + + lo_toolbar_more_sub->add( iv_txt = |Uninstall| + iv_title = |Delete all development objects belonging to this package | + && |(and subpackages) from the system| + iv_act = |{ zif_abapgit_definitions=>c_action-repo_purge }{ lc_dummy_key }| + iv_class = |{ lc_action_class } { lc_online_class }| + iv_li_class = |{ lc_action_class }| ). + + lo_toolbar->add( iv_txt = |More| + io_sub = lo_toolbar_more_sub + iv_class = |{ lc_action_class }| + iv_li_class = |{ lc_action_class }| ). + + ii_html->add( lo_toolbar->render( iv_right = abap_true ) ). + + ENDMETHOD. + + METHOD render_header_bar. DATA: lv_new_toggle_favorites TYPE abap_bool, @@ -487,99 +592,6 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. ENDMETHOD. - METHOD render_actions. - - CONSTANTS: - lc_dummy_key TYPE string VALUE `?key=#`, - lc_offline_class TYPE string VALUE `action_offline_repo`, - lc_online_class TYPE string VALUE `action_online_repo`, - lc_action_class TYPE string VALUE `action_link`. - - DATA lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar. - DATA lo_toolbar_more_sub TYPE REF TO zcl_abapgit_html_toolbar. - - CREATE OBJECT lo_toolbar EXPORTING iv_id = 'toolbar-ovp'. - - lo_toolbar->add( iv_txt = |Pull| - iv_act = |{ zif_abapgit_definitions=>c_action-git_reset }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_online_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar->add( iv_txt = |Stage| - iv_act = |{ zif_abapgit_definitions=>c_action-go_stage }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_online_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar->add( iv_txt = |Patch| - iv_act = |{ zif_abapgit_definitions=>c_action-go_patch }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_online_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar->add( iv_txt = |Diff| - iv_act = |{ zif_abapgit_definitions=>c_action-go_repo_diff }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_online_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar->add( iv_txt = |Check| - iv_act = |{ zif_abapgit_definitions=>c_action-repo_code_inspector }{ lc_dummy_key }| - iv_class = |{ lc_action_class }| - iv_li_class = |{ lc_action_class }| ). - - - lo_toolbar->add( iv_txt = |Import| - iv_act = |{ zif_abapgit_definitions=>c_action-zip_import }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_offline_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar->add( iv_txt = |Export| - iv_act = |{ zif_abapgit_definitions=>c_action-zip_export }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_offline_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar->add( iv_txt = |Settings| - iv_act = |{ zif_abapgit_definitions=>c_action-repo_settings }{ lc_dummy_key }| - iv_class = |{ lc_action_class }| - iv_li_class = |{ lc_action_class }| ). - - CREATE OBJECT lo_toolbar_more_sub EXPORTING iv_id = 'toolbar-ovp-more_sub'. - - lo_toolbar_more_sub->add( iv_txt = |Stage by Transport| - iv_act = |{ zif_abapgit_definitions=>c_action-go_stage_transport }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_online_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar_more_sub->add( iv_txt = |Export by Transport| - iv_act = |{ zif_abapgit_definitions=>c_action-zip_export_transport }{ lc_dummy_key }| - iv_class = |{ lc_action_class } { lc_offline_class }| - iv_li_class = |{ lc_action_class }| ). - - lo_toolbar->add( iv_txt = |More| - io_sub = lo_toolbar_more_sub - iv_class = |{ lc_action_class }| - iv_li_class = |{ lc_action_class }| ). - - ii_html->add( lo_toolbar->render( iv_right = abap_true ) ). - - ENDMETHOD. - - METHOD shorten_repo_url. - DATA lv_new_length TYPE i. - DATA lv_length_to_truncate_to TYPE i. - - rv_shortened = iv_full_url. - - REPLACE FIRST OCCURRENCE OF 'https://' IN rv_shortened WITH ''. - REPLACE FIRST OCCURRENCE OF 'http://' IN rv_shortened WITH ''. - IF rv_shortened CP '*.git'. - lv_new_length = strlen( rv_shortened ) - 4. - rv_shortened = rv_shortened(lv_new_length). - ENDIF. - - IF strlen( rv_shortened ) > iv_max_length. - lv_length_to_truncate_to = iv_max_length - 3. - rv_shortened = rv_shortened(lv_length_to_truncate_to) && `...`. - ENDIF. - ENDMETHOD. METHOD render_table_header. @@ -707,6 +719,11 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. ENDMETHOD. + METHOD set_only_favorites. + mv_only_favorites = iv_only_favorites. + ENDMETHOD. + + METHOD set_order_by. mv_order_by = iv_order_by. ENDMETHOD. @@ -717,6 +734,26 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. ENDMETHOD. + METHOD shorten_repo_url. + DATA lv_new_length TYPE i. + DATA lv_length_to_truncate_to TYPE i. + + rv_shortened = iv_full_url. + + REPLACE FIRST OCCURRENCE OF 'https://' IN rv_shortened WITH ''. + REPLACE FIRST OCCURRENCE OF 'http://' IN rv_shortened WITH ''. + IF rv_shortened CP '*.git'. + lv_new_length = strlen( rv_shortened ) - 4. + rv_shortened = rv_shortened(lv_new_length). + ENDIF. + + IF strlen( rv_shortened ) > iv_max_length. + lv_length_to_truncate_to = iv_max_length - 3. + rv_shortened = rv_shortened(lv_length_to_truncate_to) && `...`. + ENDIF. + ENDMETHOD. + + METHOD zif_abapgit_gui_renderable~render. mt_overview = map_repo_list_to_overview( ). @@ -748,21 +785,4 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION. -add_tz = iv_add_tz. -allow_order_by = iv_allow_order_by. ENDMETHOD. - - METHOD column. - IF iv_css_class IS NOT INITIAL. - rv_html = || && iv_content && ||. - ELSE. - rv_html = || && iv_content && ||. - ENDIF. - ENDMETHOD. - - METHOD set_only_favorites. - mv_only_favorites = iv_only_favorites. - ENDMETHOD. - - METHOD get_only_favorites. - rv_result = mv_only_favorites. - ENDMETHOD. - ENDCLASS.