CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT INHERITING FROM zcl_abapgit_gui_component CREATE PUBLIC. PUBLIC SECTION. INTERFACES: zif_abapgit_gui_renderable, zif_abapgit_gui_event_handler, zif_abapgit_gui_error_handler. METHODS: constructor RAISING zcx_abapgit_exception. PROTECTED SECTION. TYPES: BEGIN OF ty_control, redirect_url TYPE string, page_title TYPE string, page_menu TYPE REF TO zcl_abapgit_html_toolbar, END OF ty_control. TYPES: BEGIN OF ty_event, method TYPE string, name TYPE string, END OF ty_event. TYPES: tt_events TYPE STANDARD TABLE OF ty_event WITH DEFAULT KEY. DATA: ms_control TYPE ty_control. METHODS render_content ABSTRACT RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html RAISING zcx_abapgit_exception. METHODS get_events RETURNING VALUE(rt_events) TYPE tt_events RAISING zcx_abapgit_exception. METHODS render_event_as_form IMPORTING is_event TYPE ty_event RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html RAISING zcx_abapgit_exception. METHODS scripts RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html RAISING zcx_abapgit_exception. PRIVATE SECTION. DATA: mo_settings TYPE REF TO zcl_abapgit_settings, mx_error TYPE REF TO zcx_abapgit_exception, mo_exception_viewer TYPE REF TO zcl_abapgit_exception_viewer. METHODS html_head RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html. METHODS title RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html. METHODS footer RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html. METHODS redirect RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html. METHODS link_hints IMPORTING io_html TYPE REF TO zcl_abapgit_html RAISING zcx_abapgit_exception. METHODS insert_hotkeys_to_page IMPORTING io_html TYPE REF TO zcl_abapgit_html RAISING zcx_abapgit_exception. METHODS render_hotkey_overview RETURNING VALUE(ro_html) TYPE REF TO zif_abapgit_html 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 RAISING zcx_abapgit_exception. 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( ). mo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ). ENDMETHOD. METHOD footer. CREATE OBJECT ro_html. ro_html->add( '
' ). "#EC NOTEXT ENDMETHOD. METHOD get_events. " Return actions you need on your page. ENDMETHOD. METHOD html_head. CREATE OBJECT ro_html. ro_html->add( '' ). "#EC NOTEXT ro_html->add( '' ). "#EC NOTEXT ro_html->add( '' ). "#EC NOTEXT ro_html->add( '