Fix open url in repo view (#3581)

* Fix open url in repo view

* Move call_browser to gui_router
This commit is contained in:
Jaime Rodriguez Capote 2020-07-04 12:35:38 +02:00 committed by GitHub
parent 9d29fe57ce
commit f8d74cc928
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 36 deletions

View File

@ -67,12 +67,6 @@ CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT
RAISING
zcx_abapgit_exception.
METHODS call_browser
IMPORTING
iv_url TYPE csequence
RAISING
zcx_abapgit_exception.
METHODS render_error_message_box
RETURNING
VALUE(ro_html) TYPE REF TO zcl_abapgit_html
@ -92,30 +86,6 @@ ENDCLASS.
CLASS zcl_abapgit_gui_page IMPLEMENTATION.
METHOD call_browser.
cl_gui_frontend_services=>execute(
EXPORTING
document = |{ iv_url }|
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
bad_parameter = 3
file_not_found = 4
path_not_found = 5
file_extension_unknown = 6
error_execute_failed = 7
synchronous_failed = 8
not_supported_by_gui = 9
OTHERS = 10 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
METHOD constructor.
super->constructor( ).
@ -313,11 +283,6 @@ CLASS zcl_abapgit_gui_page IMPLEMENTATION.
METHOD zif_abapgit_gui_event_handler~on_event.
CASE iv_action.
WHEN zif_abapgit_definitions=>c_action-url.
call_browser( iv_getdata ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-goto_source.
IF mo_exception_viewer IS BOUND.

View File

@ -137,6 +137,7 @@ CLASS zcl_abapgit_gui_page_view_repo DEFINITION
METHODS build_main_menu
RETURNING VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar.
ENDCLASS.
@ -889,36 +890,46 @@ CLASS zcl_abapgit_gui_page_view_repo IMPLEMENTATION.
WHEN c_actions-toggle_hide_files. " Toggle file diplay
mv_hide_files = zcl_abapgit_persistence_user=>get_instance( )->toggle_hide_files( ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN c_actions-change_dir. " Change dir
lv_path = zcl_abapgit_html_action_utils=>dir_decode( iv_getdata ).
mv_cur_dir = zcl_abapgit_path=>change_dir( iv_cur_dir = mv_cur_dir
iv_cd = lv_path ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN c_actions-toggle_folders. " Toggle folder view
mv_show_folders = boolc( mv_show_folders <> abap_true ).
mv_cur_dir = '/'. " Root
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN c_actions-toggle_changes. " Toggle changes only view
mv_changes_only = zcl_abapgit_persistence_user=>get_instance( )->toggle_changes_only( ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN c_actions-toggle_order_by.
mv_show_order_by = zcl_abapgit_persistence_user=>get_instance( )->toggle_show_order_by( ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN c_actions-toggle_diff_first.
mv_diff_first = boolc( mv_diff_first = abap_false ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN c_actions-display_more. " Increase MAX lines limit
mv_max_lines = mv_max_lines + mv_max_setting.
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN zif_abapgit_definitions=>c_action-change_order_by.
mv_order_by = zcl_abapgit_gui_chunk_lib=>parse_change_order_by( iv_getdata ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN zif_abapgit_definitions=>c_action-direction.
mv_order_descending = zcl_abapgit_gui_chunk_lib=>parse_direction( iv_getdata ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN zif_abapgit_definitions=>c_action-repo_open_in_master_lang.
open_in_master_language( ).
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
ENDCASE.
ENDMETHOD.
@ -1135,4 +1146,5 @@ CLASS zcl_abapgit_gui_page_view_repo IMPLEMENTATION.
ENDMETHOD.
ENDCLASS.

View File

@ -122,11 +122,18 @@ CLASS zcl_abapgit_gui_router DEFINITION
!iv_getdata TYPE clike
RAISING
zcx_abapgit_exception.
METHODS call_browser
IMPORTING
iv_url TYPE csequence
RAISING
zcx_abapgit_exception.
ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
CLASS zcl_abapgit_gui_router IMPLEMENTATION.
METHOD abapgit_services_actions.
@ -541,9 +548,15 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
ev_obj_name = ls_item-obj_name ).
zcl_abapgit_objects=>jump( ls_item ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-jump_transport.
jump_display_transport( is_event_data-getdata ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-url.
call_browser( is_event_data-getdata ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
ENDCASE.
ENDMETHOD.
@ -666,4 +679,30 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
ENDCASE.
ENDMETHOD.
METHOD call_browser.
cl_gui_frontend_services=>execute(
EXPORTING
document = |{ iv_url }|
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
bad_parameter = 3
file_not_found = 4
path_not_found = 5
file_extension_unknown = 6
error_execute_failed = 7
synchronous_failed = 8
not_supported_by_gui = 9
OTHERS = 10 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
ENDCLASS.