*&---------------------------------------------------------------------* *& Include ZABAPGIT_PAGE *&---------------------------------------------------------------------* *----------------------------------------------------------------------* * INTERFACE lif_gui_page DEFINITION *----------------------------------------------------------------------* INTERFACE lif_gui_page. METHODS on_event IMPORTING iv_action TYPE clike iv_prev_page TYPE clike iv_getdata TYPE clike OPTIONAL it_postdata TYPE cnht_post_data_tab OPTIONAL EXPORTING ei_page TYPE REF TO lif_gui_page ev_state TYPE i RAISING lcx_exception lcx_cancel. METHODS render RETURNING VALUE(ro_html) TYPE REF TO lcl_html RAISING lcx_exception. ENDINTERFACE. CLASS lcl_gui_page DEFINITION ABSTRACT. PUBLIC SECTION. INTERFACES lif_gui_page. PROTECTED SECTION. TYPES: BEGIN OF ty_control, redirect_url TYPE string, page_title TYPE string, page_menu TYPE REF TO lcl_html_toolbar, END OF ty_control. DATA: ms_control TYPE ty_control. METHODS render_content ABSTRACT RETURNING VALUE(ro_html) TYPE REF TO lcl_html RAISING lcx_exception. METHODS scripts RETURNING VALUE(ro_html) TYPE REF TO lcl_html RAISING lcx_exception. PRIVATE SECTION. METHODS html_head RETURNING VALUE(ro_html) TYPE REF TO lcl_html. METHODS title RETURNING VALUE(ro_html) TYPE REF TO lcl_html. METHODS footer RETURNING VALUE(ro_html) TYPE REF TO lcl_html. METHODS redirect RETURNING VALUE(ro_html) TYPE REF TO lcl_html. ENDCLASS. "lcl_gui_page CLASS lcl_gui_page IMPLEMENTATION. 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( '{
lcl_html=>a( iv_txt = ' | | ). "#EC NOTEXT
ro_html->add( |► { ms_control-page_title } | | ). "#EC NOTEXT IF ms_control-page_menu IS BOUND. ro_html->add( '' ). "#EC NOTEXT ro_html->add( ms_control-page_menu->render( iv_right = abap_true ) ). ro_html->add( ' | ' ). "#EC NOTEXT ENDIF. ro_html->add( '