lcl_gui_page to global

This commit is contained in:
larshp 2018-02-04 10:10:28 +00:00
parent ecc48bf990
commit 1efd80473f
16 changed files with 209 additions and 187 deletions

View File

@ -0,0 +1,172 @@
CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES zif_abapgit_gui_page.
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.
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 scripts
RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html
RAISING zcx_abapgit_exception.
PRIVATE SECTION.
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.
ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION.
METHOD footer.
CREATE OBJECT ro_html.
ro_html->add( '<div id="footer">' ). "#EC NOTEXT
ro_html->add( '<img src="img/logo" alt="logo">' ). "#EC NOTEXT
ro_html->add( '<table class="w100"><tr>' ). "#EC NOTEXT
ro_html->add( '<td class="w40"></td>' ). "#EC NOTEXT
ro_html->add( |<td><span class="version">{ zif_abapgit_definitions=>gc_abap_version }</span></td>| ). "#EC NOTEXT
ro_html->add( '<td id="debug-output" class="w40"></td>' ). "#EC NOTEXT
ro_html->add( '</tr></table>' ). "#EC NOTEXT
ro_html->add( '</div>' ). "#EC NOTEXT
ENDMETHOD. "footer
METHOD html_head.
CREATE OBJECT ro_html.
ro_html->add( '<head>' ). "#EC NOTEXT
ro_html->add( '<meta http-equiv="content-type" content="text/html; charset=utf-8">' ). "#EC NOTEXT
ro_html->add( '<meta http-equiv="X-UA-Compatible" content="IE=11,10,9,8" />' ). "#EC NOTEXT
ro_html->add( '<title>abapGit</title>' ). "#EC NOTEXT
ro_html->add( '<link rel="stylesheet" type="text/css" href="css/common.css">' ).
ro_html->add( '<script type="text/javascript" src="js/common.js"></script>' ). "#EC NOTEXT
ro_html->add( zcl_abapgit_gui_asset_manager=>get_webfont_link( ) ). " Web fonts
ro_html->add( '</head>' ). "#EC NOTEXT
ENDMETHOD. "html_head
METHOD redirect.
CREATE OBJECT ro_html.
ro_html->add( '<!DOCTYPE html>' ). "#EC NOTEXT
ro_html->add( '<html>' ). "#EC NOTEXT
ro_html->add( '<head>' ). "#EC NOTEXT
ro_html->add( |<meta http-equiv="refresh" content="0; url={
ms_control-redirect_url }">| ). "#EC NOTEXT
ro_html->add( '</head>' ). "#EC NOTEXT
ro_html->add( '</html>' ). "#EC NOTEXT
ENDMETHOD.
METHOD scripts.
ASSERT 1 = 1. " Dummy
ENDMETHOD. "scripts
METHOD title.
CREATE OBJECT ro_html.
ro_html->add( '<div id="header">' ). "#EC NOTEXT
ro_html->add( '<table class="w100"><tr>' ). "#EC NOTEXT
ro_html->add( |<td class="logo">{
zcl_abapgit_html=>a( iv_txt = '<img src="img/logo" alt="logo">'
iv_act = zif_abapgit_definitions=>gc_action-abapgit_home )
}</td>| ). "#EC NOTEXT
ro_html->add( |<td><span class="page_title"> &#x25BA; {
ms_control-page_title
}</span></td>| ). "#EC NOTEXT
IF ms_control-page_menu IS BOUND.
ro_html->add( '<td class="right">' ). "#EC NOTEXT
ro_html->add( ms_control-page_menu->render( iv_right = abap_true ) ).
ro_html->add( '</td>' ). "#EC NOTEXT
ENDIF.
ro_html->add( '</tr></table>' ). "#EC NOTEXT
ro_html->add( '</div>' ). "#EC NOTEXT
ENDMETHOD. "render page title
METHOD zif_abapgit_gui_page~on_event.
ev_state = zif_abapgit_definitions=>gc_event_state-not_handled.
ENDMETHOD. "lif_gui_page~on_event
METHOD zif_abapgit_gui_page~render.
DATA lo_script TYPE REF TO zcl_abapgit_html.
" Redirect
IF ms_control-redirect_url IS NOT INITIAL.
ro_html = redirect( ).
RETURN.
ENDIF.
" Real page
CREATE OBJECT ro_html.
ro_html->add( '<!DOCTYPE html>' ). "#EC NOTEXT
ro_html->add( '<html>' ). "#EC NOTEXT
ro_html->add( html_head( ) ).
ro_html->add( '<body>' ). "#EC NOTEXT
ro_html->add( title( ) ).
ro_html->add( render_content( ) ).
ro_html->add( footer( ) ).
ro_html->add( '</body>' ). "#EC NOTEXT
lo_script = scripts( ).
IF lo_script IS BOUND AND lo_script->is_empty( ) = abap_false.
ro_html->add( '<script type="text/javascript">' ).
ro_html->add( lo_script ).
ro_html->add( 'confirmInitialized();' ).
ro_html->add( '</script>' ).
ENDIF.
ro_html->add( '</html>' ). "#EC NOTEXT
ENDMETHOD. " lif_gui_page~render.
ENDCLASS.

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_GUI_PAGE</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>GUI Page</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<CLSABSTRCT>X</CLSABSTRCT>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -2,166 +2,4 @@
*& Include ZABAPGIT_PAGE
*&---------------------------------------------------------------------*
CLASS lcl_gui_page DEFINITION ABSTRACT.
PUBLIC SECTION.
INTERFACES zif_abapgit_gui_page.
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.
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 scripts
RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html
RAISING zcx_abapgit_exception.
PRIVATE SECTION.
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.
ENDCLASS. "lcl_gui_page
CLASS lcl_gui_page IMPLEMENTATION.
METHOD html_head.
CREATE OBJECT ro_html.
ro_html->add( '<head>' ). "#EC NOTEXT
ro_html->add( '<meta http-equiv="content-type" content="text/html; charset=utf-8">' ). "#EC NOTEXT
ro_html->add( '<meta http-equiv="X-UA-Compatible" content="IE=11,10,9,8" />' ). "#EC NOTEXT
ro_html->add( '<title>abapGit</title>' ). "#EC NOTEXT
ro_html->add( '<link rel="stylesheet" type="text/css" href="css/common.css">' ).
ro_html->add( '<script type="text/javascript" src="js/common.js"></script>' ). "#EC NOTEXT
ro_html->add( zcl_abapgit_gui_asset_manager=>get_webfont_link( ) ). " Web fonts
ro_html->add( '</head>' ). "#EC NOTEXT
ENDMETHOD. "html_head
METHOD title.
CREATE OBJECT ro_html.
ro_html->add( '<div id="header">' ). "#EC NOTEXT
ro_html->add( '<table class="w100"><tr>' ). "#EC NOTEXT
ro_html->add( |<td class="logo">{
zcl_abapgit_html=>a( iv_txt = '<img src="img/logo" alt="logo">'
iv_act = zif_abapgit_definitions=>gc_action-abapgit_home )
}</td>| ). "#EC NOTEXT
ro_html->add( |<td><span class="page_title"> &#x25BA; {
ms_control-page_title
}</span></td>| ). "#EC NOTEXT
IF ms_control-page_menu IS BOUND.
ro_html->add( '<td class="right">' ). "#EC NOTEXT
ro_html->add( ms_control-page_menu->render( iv_right = abap_true ) ).
ro_html->add( '</td>' ). "#EC NOTEXT
ENDIF.
ro_html->add( '</tr></table>' ). "#EC NOTEXT
ro_html->add( '</div>' ). "#EC NOTEXT
ENDMETHOD. "render page title
METHOD footer.
CREATE OBJECT ro_html.
ro_html->add( '<div id="footer">' ). "#EC NOTEXT
ro_html->add( '<img src="img/logo" alt="logo">' ). "#EC NOTEXT
ro_html->add( '<table class="w100"><tr>' ). "#EC NOTEXT
ro_html->add( '<td class="w40"></td>' ). "#EC NOTEXT
ro_html->add( |<td><span class="version">{ zif_abapgit_definitions=>gc_abap_version }</span></td>| ). "#EC NOTEXT
ro_html->add( '<td id="debug-output" class="w40"></td>' ). "#EC NOTEXT
ro_html->add( '</tr></table>' ). "#EC NOTEXT
ro_html->add( '</div>' ). "#EC NOTEXT
ENDMETHOD. "footer
METHOD redirect.
CREATE OBJECT ro_html.
ro_html->add( '<!DOCTYPE html>' ). "#EC NOTEXT
ro_html->add( '<html>' ). "#EC NOTEXT
ro_html->add( '<head>' ). "#EC NOTEXT
ro_html->add( |<meta http-equiv="refresh" content="0; url={
ms_control-redirect_url }">| ). "#EC NOTEXT
ro_html->add( '</head>' ). "#EC NOTEXT
ro_html->add( '</html>' ). "#EC NOTEXT
ENDMETHOD.
METHOD scripts.
ASSERT 1 = 1. " Dummy
ENDMETHOD. "scripts
METHOD zif_abapgit_gui_page~on_event.
ev_state = zif_abapgit_definitions=>gc_event_state-not_handled.
ENDMETHOD. "lif_gui_page~on_event
METHOD zif_abapgit_gui_page~render.
DATA lo_script TYPE REF TO zcl_abapgit_html.
" Redirect
IF ms_control-redirect_url IS NOT INITIAL.
ro_html = redirect( ).
RETURN.
ENDIF.
" Real page
CREATE OBJECT ro_html.
ro_html->add( '<!DOCTYPE html>' ). "#EC NOTEXT
ro_html->add( '<html>' ). "#EC NOTEXT
ro_html->add( html_head( ) ).
ro_html->add( '<body>' ). "#EC NOTEXT
ro_html->add( title( ) ).
ro_html->add( render_content( ) ).
ro_html->add( footer( ) ).
ro_html->add( '</body>' ). "#EC NOTEXT
lo_script = scripts( ).
IF lo_script IS BOUND AND lo_script->is_empty( ) = abap_false.
ro_html->add( '<script type="text/javascript">' ).
ro_html->add( lo_script ).
ro_html->add( 'confirmInitialized();' ).
ro_html->add( '</script>' ).
ENDIF.
ro_html->add( '</html>' ). "#EC NOTEXT
ENDMETHOD. " lif_gui_page~render.
ENDCLASS. "lcl_gui_page
* todo, include to be deleted

View File

@ -2,8 +2,7 @@
*& Include ZABAPGIT_PAGE_BACKGROUND
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_bkg_run DEFINITION FINAL
INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_bkg_run DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS constructor.
@ -72,8 +71,7 @@ CLASS lcl_gui_page_bkg_run IMPLEMENTATION.
ENDCLASS.
CLASS lcl_gui_page_bkg DEFINITION FINAL
INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_bkg DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:

View File

@ -339,7 +339,7 @@ ENDCLASS.
***********************
CLASS lcl_gui_page_boverview DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_boverview DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_COMMIT
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_commit DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_commit DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_DB
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_db_dis DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_db_dis DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS: constructor
@ -79,7 +79,7 @@ CLASS lcl_gui_page_db_dis IMPLEMENTATION.
ENDCLASS.
CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS: constructor
@ -150,7 +150,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
ENDCLASS.
CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS constructor.

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_DEBUG
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS constructor.

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_DIFF
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_EXPLORE
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_explore DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_explore DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
CONSTANTS c_explore_url TYPE string

View File

@ -2,13 +2,13 @@
*& Include ZABAPGIT_PAGE_MAIN
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
constructor
RAISING zcx_abapgit_exception,
zif_abapgit_gui_page~on_event REDEFINITION.
zif_abapgit_gui_page~on_event REDEFINITION.
PROTECTED SECTION.
METHODS render_content REDEFINITION.

View File

@ -317,7 +317,7 @@ ENDCLASS.
*********************************
CLASS lcl_gui_page_merge DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_merge DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_REPO_SETTINGS
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_repo_sett DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_repo_sett DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
constructor

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_SETTINGS
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
CONSTANTS:

View File

@ -2,7 +2,7 @@
*& Include ZABAPGIT_PAGE_STAGE
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
CONSTANTS: BEGIN OF c_action,

View File

@ -6,18 +6,13 @@
*& Include ZABAPGIT_PAGE_REPO_SETTINGS
*&---------------------------------------------------------------------*
CLASS lcl_gui_page_syntax_check DEFINITION FINAL INHERITING FROM lcl_gui_page.
CLASS lcl_gui_page_syntax_check DEFINITION FINAL INHERITING FROM zcl_abapgit_gui_page.
PUBLIC SECTION.
METHODS:
constructor
IMPORTING io_repo TYPE REF TO lcl_repo.
PROTECTED SECTION.
* CONSTANTS:
* BEGIN OF c_action,
* back TYPE string VALUE 'back',
* END OF c_action.
DATA: mo_repo TYPE REF TO lcl_repo.
METHODS: