*&---------------------------------------------------------------------* *& 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_helper RAISING lcx_exception. METHODS get_assets RETURNING VALUE(rt_assets) TYPE tt_web_assets. ENDINTERFACE. CLASS lcl_gui_page_super DEFINITION ABSTRACT. PUBLIC SECTION. INTERFACES lif_gui_page ABSTRACT METHODS render. CLASS-METHODS render_error IMPORTING ix_error TYPE REF TO lcx_exception RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. PROTECTED SECTION. METHODS render_repo_top IMPORTING io_repo TYPE REF TO lcl_repo iv_show_package TYPE abap_bool DEFAULT abap_true iv_show_branch TYPE abap_bool DEFAULT abap_true iv_interactive_branch TYPE abap_bool DEFAULT abap_false iv_branch TYPE string OPTIONAL RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper RAISING lcx_exception. METHODS render_branch_span IMPORTING iv_branch TYPE string io_repo TYPE REF TO lcl_repo_online iv_interactive TYPE abap_bool RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper RAISING lcx_exception. METHODS header IMPORTING io_include_style TYPE REF TO lcl_html_helper OPTIONAL RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. METHODS footer IMPORTING io_include_script TYPE REF TO lcl_html_helper OPTIONAL RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. METHODS title IMPORTING iv_title TYPE string io_menu TYPE REF TO lcl_html_toolbar OPTIONAL RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. METHODS redirect IMPORTING iv_url TYPE string RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. PRIVATE SECTION. METHODS styles RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. ENDCLASS. CLASS lcl_gui_page_super IMPLEMENTATION. METHOD render_repo_top. DATA: lo_repo_online TYPE REF TO lcl_repo_online, lo_pback TYPE REF TO lcl_persistence_background, lv_icon TYPE string. CREATE OBJECT ro_html. CREATE OBJECT lo_pback. IF io_repo->is_offline( ) = abap_true. lv_icon = 'img/repo_offline' ##NO_TEXT. ELSE. lv_icon = 'img/repo_online' ##NO_TEXT. ENDIF. ro_html->add( || ). ro_html->add( '
' ).
ro_html->add( | | ' ).
ro_html->add( '' ).
IF lo_pback->exists( io_repo->get_key( ) ) = abap_true.
ro_html->add( 'BG' ).
ENDIF.
IF io_repo->is_write_protected( ) = abap_true.
ro_html->add( ' | ' ).
ro_html->add( '
' ). "#EC NOTEXT
ro_html->add( || ). "#EC NOTEXT
ro_html->add( ' | ' ). "#EC NOTEXT
ro_html->add( '' ). "#EC NOTEXT ro_html->add( |► { iv_title }| ). "#EC NOTEXT ro_html->add( ' | ' ). "#EC NOTEXT IF io_menu IS BOUND. ro_html->add( '' ). "#EC NOTEXT ro_html->add( io_menu->render( ) ). ro_html->add( ' | ' ). "#EC NOTEXT ENDIF. ro_html->add( '