mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
playground page userexit #350
This commit is contained in:
parent
e9690b3239
commit
2db16f281b
|
@ -68,6 +68,7 @@ INCLUDE zabapgit_transport.
|
|||
|
||||
INCLUDE zabapgit_services. " All services here
|
||||
INCLUDE zabapgit_gui_pages. " All GUI pages here
|
||||
INCLUDE zabapgit_gui_pages_userexit IF FOUND.
|
||||
INCLUDE zabapgit_gui_router.
|
||||
INCLUDE zabapgit_gui.
|
||||
|
||||
|
|
|
@ -177,5 +177,6 @@ CONSTANTS: BEGIN OF gc_action,
|
|||
go_stage TYPE string VALUE 'go_stage',
|
||||
go_commit TYPE string VALUE 'go_commit',
|
||||
go_branch_overview TYPE string VALUE 'go_branch_overview',
|
||||
go_playground TYPE string VALUE 'go_playground',
|
||||
jump TYPE string VALUE 'jump',
|
||||
END OF gc_action.
|
|
@ -50,6 +50,10 @@ CLASS lcl_gui_router DEFINITION FINAL.
|
|||
RETURNING VALUE(ri_page) TYPE REF TO lif_gui_page
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS get_page_playground
|
||||
RETURNING VALUE(ri_page) TYPE REF TO lif_gui_page
|
||||
RAISING lcx_exception lcx_cancel.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -88,6 +92,9 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
WHEN gc_action-go_branch_overview. " Go repo branch overview
|
||||
ei_page = get_page_branch_overview( iv_getdata ).
|
||||
ev_state = gc_event_state-new_page.
|
||||
WHEN gc_action-go_playground. " Create playground page
|
||||
ei_page = get_page_playground( ).
|
||||
ev_state = gc_event_state-new_page.
|
||||
|
||||
" SAP GUI actions
|
||||
WHEN gc_action-jump.
|
||||
|
@ -286,4 +293,22 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD. "get_page_background
|
||||
|
||||
METHOD get_page_playground.
|
||||
DATA: lv_class_name TYPE string,
|
||||
lv_cancel TYPE abap_bool.
|
||||
|
||||
lcl_popups=>run_page_class_popup( IMPORTING ev_name = lv_class_name
|
||||
ev_cancel = lv_cancel ).
|
||||
IF lv_cancel = abap_true.
|
||||
RAISE EXCEPTION TYPE lcx_cancel.
|
||||
ENDIF.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT ri_page TYPE (lv_class_name).
|
||||
CATCH cx_sy_create_object_error.
|
||||
lcx_exception=>raise( |Cannot create page class { lv_class_name }| ).
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD. "get_page_playground
|
||||
|
||||
ENDCLASS. " lcl_gui_router
|
|
@ -144,6 +144,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
lo_betasub->add( iv_txt = 'Database util' iv_act = gc_action-go_db ) ##NO_TEXT.
|
||||
lo_betasub->add( iv_txt = 'Package to zip' iv_act = gc_action-zip_package ) ##NO_TEXT.
|
||||
lo_betasub->add( iv_txt = 'Transport to zip' iv_act = gc_action-zip_transport ) ##NO_TEXT.
|
||||
lo_betasub->add( iv_txt = 'Page playground' iv_act = gc_action-go_playground ) ##NO_TEXT.
|
||||
|
||||
ro_menu->add( iv_txt = 'Clone' iv_act = gc_action-repo_clone ) ##NO_TEXT.
|
||||
ro_menu->add( iv_txt = 'Explore' iv_act = gc_action-go_explore ) ##NO_TEXT.
|
||||
|
|
|
@ -23,6 +23,10 @@ CLASS lcl_popups DEFINITION.
|
|||
EXPORTING ev_name TYPE string
|
||||
ev_cancel TYPE abap_bool
|
||||
RAISING lcx_exception,
|
||||
run_page_class_popup
|
||||
EXPORTING ev_name TYPE string
|
||||
ev_cancel TYPE abap_bool
|
||||
RAISING lcx_exception,
|
||||
repo_new_offline
|
||||
RETURNING VALUE(rs_popup) TYPE ty_popup
|
||||
RAISING lcx_exception,
|
||||
|
@ -142,6 +146,43 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD run_page_class_popup.
|
||||
|
||||
DATA: lv_answer TYPE c LENGTH 1,
|
||||
lt_fields TYPE TABLE OF sval.
|
||||
|
||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
||||
|
||||
|
||||
CLEAR: ev_name, ev_cancel.
|
||||
|
||||
* TAB FLD LABEL DEF ATTR
|
||||
_add_dialog_fld 'TEXTL' 'LINE' 'Name' 'lcl_gui_page_' ''.
|
||||
|
||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||
EXPORTING
|
||||
popup_title = 'Run page manually'
|
||||
IMPORTING
|
||||
returncode = lv_answer
|
||||
TABLES
|
||||
fields = lt_fields
|
||||
EXCEPTIONS
|
||||
error_in_fields = 1
|
||||
OTHERS = 2 ##NO_TEXT.
|
||||
IF sy-subrc <> 0.
|
||||
lcx_exception=>raise( 'error from POPUP_GET_VALUES' ).
|
||||
ENDIF.
|
||||
|
||||
IF lv_answer = 'A'.
|
||||
ev_cancel = abap_true.
|
||||
ELSE.
|
||||
READ TABLE lt_fields INDEX 1 ASSIGNING <ls_field>.
|
||||
ASSERT sy-subrc = 0.
|
||||
ev_name = to_upper( <ls_field>-value ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD. "run_page_class_popup
|
||||
|
||||
METHOD repo_new_offline.
|
||||
|
||||
DATA: lv_returncode TYPE c,
|
||||
|
|
Loading…
Reference in New Issue
Block a user