*&---------------------------------------------------------------------*
*& Include ZABAPGIT_PAGE_DB
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_db_display DEFINITION FINAL INHERITING FROM lcl_gui_page.
PUBLIC SECTION.
METHODS: constructor
IMPORTING is_key TYPE lcl_persistence_db=>ty_content.
PROTECTED SECTION.
METHODS render_content REDEFINITION.
PRIVATE SECTION.
DATA: ms_key TYPE lcl_persistence_db=>ty_content.
ENDCLASS.
CLASS lcl_gui_page_db_display IMPLEMENTATION.
METHOD constructor.
super->constructor( ).
ms_key = is_key.
ms_control-page_title = 'CONFIG DISPLAY'.
ENDMETHOD.
METHOD render_content.
DATA:
lo_highlighter TYPE REF TO lcl_syntax_highlighter,
lv_data TYPE lcl_persistence_db=>ty_content-data_str,
ls_action TYPE lcl_persistence_db=>ty_content,
lv_action TYPE string.
TRY.
lv_data = lcl_app=>db( )->read(
iv_type = ms_key-type
iv_value = ms_key-value ).
CATCH lcx_not_found ##NO_HANDLER.
ENDTRY.
" Create syntax highlighter
lo_highlighter = lcl_syntax_highlighter=>create( '*.xml' ).
ls_action-type = ms_key-type.
ls_action-value = ms_key-value.
lv_action = lcl_html_action_utils=>dbkey_encode( ls_action ).
lv_data = lcl_xml_pretty=>print( lv_data ).
lv_data = lo_highlighter->process_line( lv_data ).
CREATE OBJECT ro_html.
ro_html->add( '
' ).
" Banners
ro_html->add( |
Type: | | &&
| { ms_key-type } |
| ).
ro_html->add( |
Key: | | &&
| { ms_key-value } |
| ).
" Form
ro_html->add( |
' ).
" Menu
lo_toolbar->add( iv_act = 'submitFormById(''db_form'');'
iv_txt = 'Save'
iv_typ = gc_action_type-onclick
iv_opt = gc_html_opt-strong ) ##NO_TEXT.
ro_html->add( '
' ).
ro_html->add( lo_toolbar->render( ) ).
ro_html->add( '
' ).
ro_html->add( '
' ). "db_entry
ENDMETHOD. "render_content
ENDCLASS.
CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page.
PUBLIC SECTION.
METHODS constructor.
PROTECTED SECTION.
METHODS render_content REDEFINITION.
PRIVATE SECTION.
METHODS explain_content
IMPORTING is_data TYPE lcl_persistence_db=>ty_content
RETURNING VALUE(rv_text) TYPE string
RAISING lcx_exception.
ENDCLASS.
CLASS lcl_gui_page_db IMPLEMENTATION.
METHOD constructor.
super->constructor( ).
ms_control-page_title = 'DATABASE PERSISTENCY'.
ENDMETHOD. " constructor.
METHOD render_content.
DATA: lt_data TYPE lcl_persistence_db=>tt_content,
lv_action TYPE string,
lv_trclass TYPE string,
lo_toolbar TYPE REF TO lcl_html_toolbar.
FIELD-SYMBOLS: