mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Allow html viewer to be hidden (#4203)
* Allow html viewer to be hidden for CALL SCREEN in the same session to work * Move html viewer hiding to router
This commit is contained in:
parent
7c1753613a
commit
123de8fd68
|
@ -577,13 +577,27 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
|
|||
|
||||
METHOD sap_gui_actions.
|
||||
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lx_ex TYPE REF TO zcx_abapgit_exception,
|
||||
li_html_viewer TYPE REF TO zif_abapgit_html_viewer.
|
||||
|
||||
CASE ii_event->mv_action.
|
||||
WHEN zif_abapgit_definitions=>c_action-jump. " Open object editor
|
||||
ls_item-obj_type = ii_event->query( )->get( 'TYPE' ).
|
||||
ls_item-obj_name = ii_event->query( )->get( 'NAME' ).
|
||||
zcl_abapgit_objects=>jump( ls_item ).
|
||||
|
||||
li_html_viewer = zcl_abapgit_ui_factory=>get_html_viewer( ).
|
||||
|
||||
TRY.
|
||||
" Hide HTML Viewer in dummy screen0 for direct CALL SCREEN to work
|
||||
li_html_viewer->set_visiblity( abap_false ).
|
||||
zcl_abapgit_objects=>jump( ls_item ).
|
||||
li_html_viewer->set_visiblity( abap_true ).
|
||||
CATCH zcx_abapgit_exception INTO lx_ex.
|
||||
li_html_viewer->set_visiblity( abap_true ).
|
||||
RAISE EXCEPTION lx_ex.
|
||||
ENDTRY.
|
||||
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
||||
|
||||
WHEN zif_abapgit_definitions=>c_action-jump_transport.
|
||||
|
|
|
@ -13,20 +13,20 @@ CLASS zcl_abapgit_html_viewer_gui DEFINITION
|
|||
DATA mo_html_viewer TYPE REF TO cl_gui_html_viewer .
|
||||
|
||||
METHODS on_event
|
||||
FOR EVENT sapevent OF cl_gui_html_viewer
|
||||
FOR EVENT sapevent OF cl_gui_html_viewer
|
||||
IMPORTING
|
||||
!action
|
||||
!frame
|
||||
!getdata
|
||||
!postdata
|
||||
!query_table .
|
||||
!action
|
||||
!frame
|
||||
!getdata
|
||||
!postdata
|
||||
!query_table .
|
||||
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_HTML_VIEWER_GUI IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_html_viewer_gui IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
|
@ -119,4 +119,16 @@ CLASS ZCL_ABAPGIT_HTML_VIEWER_GUI IMPLEMENTATION.
|
|||
mo_html_viewer->show_url( iv_url ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_html_viewer~set_visiblity.
|
||||
DATA: lv_visible TYPE c LENGTH 1.
|
||||
|
||||
IF iv_visible = abap_true.
|
||||
lv_visible = cl_gui_container=>visible_true.
|
||||
ELSE.
|
||||
lv_visible = cl_gui_container=>visible_false.
|
||||
ENDIF.
|
||||
|
||||
mo_html_viewer->set_visible( lv_visible ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -180,12 +180,11 @@ CLASS ZCL_ABAPGIT_UI_FACTORY IMPLEMENTATION.
|
|||
|
||||
METHOD get_html_viewer.
|
||||
|
||||
IF gi_html_viewer IS BOUND.
|
||||
ri_viewer = gi_html_viewer.
|
||||
RETURN.
|
||||
IF gi_html_viewer IS NOT BOUND.
|
||||
CREATE OBJECT gi_html_viewer TYPE zcl_abapgit_html_viewer_gui.
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT ri_viewer TYPE zcl_abapgit_html_viewer_gui.
|
||||
ri_viewer = gi_html_viewer.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -48,4 +48,5 @@ INTERFACE zif_abapgit_html_viewer
|
|||
RETURNING
|
||||
VALUE(rv_url) TYPE w3url.
|
||||
METHODS back .
|
||||
METHODS set_visiblity IMPORTING iv_visible TYPE abap_bool.
|
||||
ENDINTERFACE.
|
||||
|
|
Loading…
Reference in New Issue
Block a user