diff --git a/src/zabapgit_css_common.w3mi.data.css b/src/zabapgit_css_common.w3mi.data.css
index 924b1d664..26a3de560 100644
--- a/src/zabapgit_css_common.w3mi.data.css
+++ b/src/zabapgit_css_common.w3mi.data.css
@@ -33,15 +33,21 @@ form input:focus, textarea:focus {
border: 1px solid #8cadd9;
}
-/* MODIFIERS */
+/* COLOR PALETTE */
.grey { color: lightgrey !important; }
-.emphasis { font-weight: bold !important; }
.attention { color: red !important; }
+.blue { color: #5e8dc9; !important; }
+.red { color: red !important; }
+
+/* MODIFIERS */
+.emphasis { font-weight: bold !important; }
.crossout { text-decoration: line-through !important; }
.right { text-align:right; }
.paddings { padding: 0.5em 0.5em; }
.pad-sides { padding: 0 0.3em; }
.pad4px { padding: 4px; }
+.w100 { width: 100%; }
+.w40 { width: 40%; }
/* STRUCTURE DIVS, HEADER & FOOTER */
td.headpad { padding-top: 11px; }
@@ -172,6 +178,7 @@ div.menu_vertical a {
.dropdown_content td { text-align: left; padding: 2px; }
.dropdown_content td a { padding: 0em 0.2em; }
.dropdown_content td.icon { padding: 0 3px 0 6px; }
+.dropdown_content td.text { width: 100%; }
.dropdown_content a:hover { background-color: #f1f1f1 }
.dropdown:hover .dropbtn { color: #79a0d2; }
@@ -248,11 +255,12 @@ div.repo {
div.repo_container {
position: relative;
}
-.repo_tab {
+table.repo_tab {
border: 1px solid #DDD;
border-radius: 3px;
background: #fff;
margin-top: 0.5em;
+ width: 100%;
}
.repo_tab td {
border-top: 1px solid #eee;
@@ -463,6 +471,7 @@ div.diff_head span.state-block span.none {
table.diff_tab {
font-family: Consolas, Courier, monospace;
font-size: 10pt;
+ width: 100%;
}
table.diff_tab td,th {
color: #444;
diff --git a/src/zabapgit_definitions.prog.abap b/src/zabapgit_definitions.prog.abap
index 925053ea8..e8612e1b6 100644
--- a/src/zabapgit_definitions.prog.abap
+++ b/src/zabapgit_definitions.prog.abap
@@ -159,7 +159,7 @@ CONSTANTS: BEGIN OF gc_event_state,
END OF gc_event_state.
CONSTANTS: BEGIN OF gc_html_opt,
- emphas TYPE c VALUE 'E',
+ strong TYPE c VALUE 'E',
cancel TYPE c VALUE 'C',
crossout TYPE c VALUE 'X',
END OF gc_html_opt.
diff --git a/src/zabapgit_gui_pages.prog.abap b/src/zabapgit_gui_pages.prog.abap
index 910211fd0..2d5b77f67 100644
--- a/src/zabapgit_gui_pages.prog.abap
+++ b/src/zabapgit_gui_pages.prog.abap
@@ -4,17 +4,18 @@
* All UI pages
-* Super class
+* Super class & common html chunks
+INCLUDE zabapgit_html_chunks.
INCLUDE zabapgit_page.
* Utils and helpers
INCLUDE zabapgit_html_action_utils.
INCLUDE zabapgit_repo_browser_util.
+INCLUDE zabapgit_syntax_highlighter.
* Components and templates
INCLUDE zabapgit_view_repo.
INCLUDE zabapgit_view_tutorial.
-INCLUDE zabapgit_syntax_highlighter.
* Pages
INCLUDE zabapgit_page_commit.
diff --git a/src/zabapgit_html.prog.abap b/src/zabapgit_html.prog.abap
index 96009519e..5b0f065a5 100644
--- a/src/zabapgit_html.prog.abap
+++ b/src/zabapgit_html.prog.abap
@@ -7,9 +7,9 @@ DEFINE _add.
END-OF-DEFINITION.
*----------------------------------------------------------------------*
-* CLASS lcl_html_helper DEFINITION
+* CLASS lcl_html DEFINITION
*----------------------------------------------------------------------*
-CLASS lcl_html_helper DEFINITION FINAL.
+CLASS lcl_html DEFINITION FINAL.
PUBLIC SECTION.
CONSTANTS: c_indent_size TYPE i VALUE 2.
@@ -21,27 +21,49 @@ CLASS lcl_html_helper DEFINITION FINAL.
METHODS add IMPORTING iv_chunk TYPE any.
METHODS reset.
- METHODS add_anchor IMPORTING iv_txt TYPE string
- iv_act TYPE string
- iv_opt TYPE clike OPTIONAL
- iv_typ TYPE char1 DEFAULT gc_action_type-sapevent
+ METHODS add_a IMPORTING iv_txt TYPE string
+ iv_act TYPE string
+ iv_typ TYPE char1 DEFAULT gc_action_type-sapevent
+ iv_opt TYPE clike OPTIONAL
+ iv_class TYPE string OPTIONAL
+ iv_id TYPE string OPTIONAL
+ iv_style TYPE string OPTIONAL.
+
+ METHODS add_icon IMPORTING iv_name TYPE string
+ iv_hint TYPE string OPTIONAL
+ iv_alt TYPE string OPTIONAL
+ iv_class TYPE string OPTIONAL.
+
+ CLASS-METHODS a IMPORTING iv_txt TYPE string
+ iv_act TYPE string
+ iv_typ TYPE char1 DEFAULT gc_action_type-sapevent
+ iv_opt TYPE clike OPTIONAL
+ iv_class TYPE string OPTIONAL
+ iv_id TYPE string OPTIONAL
+ iv_style TYPE string OPTIONAL
+ RETURNING VALUE(rv_str) TYPE string.
+
+ CLASS-METHODS icon IMPORTING iv_name TYPE string
+ iv_hint TYPE string OPTIONAL
+ iv_alt TYPE string OPTIONAL
iv_class TYPE string OPTIONAL
- iv_id TYPE string OPTIONAL
- iv_style TYPE string OPTIONAL.
+ RETURNING VALUE(rv_str) TYPE string.
PRIVATE SECTION.
METHODS _add_str IMPORTING iv_str TYPE csequence.
- METHODS _add_htm IMPORTING io_html TYPE REF TO lcl_html_helper.
+ METHODS _add_htm IMPORTING io_html TYPE REF TO lcl_html.
-ENDCLASS. "lcl_html_helper DEFINITION
+ENDCLASS. "lcl_html DEFINITION
*----------------------------------------------------------------------*
-* CLASS lcl_html_helper IMPLEMENTATION
+* CLASS lcl_html IMPLEMENTATION
*----------------------------------------------------------------------*
-CLASS lcl_html_helper IMPLEMENTATION.
+CLASS lcl_html IMPLEMENTATION.
+
METHOD add.
+
DATA lo_type TYPE REF TO cl_abap_typedescr.
- DATA lo_html TYPE REF TO lcl_html_helper.
+ DATA lo_html TYPE REF TO lcl_html.
lo_type = cl_abap_typedescr=>describe_by_data( iv_chunk ).
@@ -71,6 +93,7 @@ CLASS lcl_html_helper IMPLEMENTATION.
ENDMETHOD. "reset
METHOD _add_str.
+
CONSTANTS lc_single_tags_re TYPE string " HTML5 singleton tags
VALUE '<(area|base|br|col|command|embed|hr|img|input|link|meta|param|source|!)'.
@@ -145,7 +168,20 @@ CLASS lcl_html_helper IMPLEMENTATION.
ENDMETHOD. "_add_htm
- METHOD add_anchor.
+ METHOD add_a.
+
+ _add_str( a( iv_txt = iv_txt
+ iv_act = iv_act
+ iv_typ = iv_typ
+ iv_opt = iv_opt
+ iv_class = iv_class
+ iv_id = iv_id
+ iv_style = iv_style ) ).
+
+ ENDMETHOD. "add_a
+
+ METHOD a.
+
DATA: lv_class TYPE string,
lv_href TYPE string,
lv_id TYPE string,
@@ -153,7 +189,7 @@ CLASS lcl_html_helper IMPLEMENTATION.
lv_class = iv_class.
- IF iv_opt CA gc_html_opt-emphas.
+ IF iv_opt CA gc_html_opt-strong.
lv_class = lv_class && ' emphasis' ##NO_TEXT.
ENDIF.
IF iv_opt CA gc_html_opt-cancel.
@@ -186,11 +222,42 @@ CLASS lcl_html_helper IMPLEMENTATION.
lv_style = | style="{ iv_style }"|.
ENDIF.
- _add_str( |{ iv_txt }| ).
+ rv_str = |{ iv_txt }|.
- ENDMETHOD. "add_action
+ ENDMETHOD. "a
-ENDCLASS. "lcl_html_helper IMPLEMENTATION
+ METHOD add_icon.
+
+ _add_str( icon( iv_name = iv_name
+ iv_class = iv_class
+ iv_alt = iv_alt
+ iv_hint = iv_hint ) ).
+
+ ENDMETHOD. "add_icon
+
+ METHOD icon.
+
+ DATA: lv_hint TYPE string,
+ lv_alt TYPE string,
+ lv_class TYPE string.
+
+ IF iv_hint IS NOT INITIAL.
+ lv_hint = | title="{ iv_hint }"|.
+ ENDIF.
+ IF iv_class IS NOT INITIAL.
+ lv_class = | class="{ iv_class }"|.
+ ENDIF.
+ IF iv_alt IS INITIAL.
+ lv_alt = | alt|. " To pass html validation
+ ELSE.
+ lv_alt = | alt="{ iv_alt }"|.
+ ENDIF.
+
+ rv_str = | |.
+
+ ENDMETHOD. "icon
+
+ENDCLASS. "lcl_html IMPLEMENTATION
*----------------------------------------------------------------------*
* CLASS lcl_html_toolbar DEFINITION
@@ -219,7 +286,7 @@ CLASS lcl_html_toolbar DEFINITION FINAL.
iv_with_icons TYPE abap_bool OPTIONAL
iv_add_minizone TYPE abap_bool OPTIONAL
RETURNING
- VALUE(ro_html) TYPE REF TO lcl_html_helper.
+ VALUE(ro_html) TYPE REF TO lcl_html.
PRIVATE SECTION.
TYPES: BEGIN OF ty_item,
@@ -295,7 +362,10 @@ CLASS lcl_html_toolbar IMPLEMENTATION.
IF iv_no_separator = abap_true.
lv_class = lv_class && ' menu_end' ##NO_TEXT.
ENDIF.
- ro_html->add( |{ iv_as_droplist_with_label }| ).
+
+ ro_html->add_a( iv_txt = iv_as_droplist_with_label
+ iv_class = lv_class
+ iv_act = '' ).
ENDIF.
IF iv_add_minizone = abap_true.
@@ -327,15 +397,15 @@ CLASS lcl_html_toolbar IMPLEMENTATION.
IF iv_with_icons = abap_true.
ro_html->add( '
' ). + ro_html->add_icon( iv_name = lv_icon iv_hint = lv_hint ). + ro_html->add( |{ io_repo->get_name( ) }| ). + IF io_repo->is_offline( ) = abap_false. + lo_repo_online ?= io_repo. + ro_html->add( |{ lo_repo_online->get_url( ) }| ). + ENDIF. + ro_html->add( ' | ' ). + + ro_html->add( '' ). + + IF abap_true = lcl_app=>user( )->is_favorite_repo( io_repo->get_key( ) ). + lv_icon = 'star' ##NO_TEXT. + ELSE. + lv_icon = 'star-grey' ##NO_TEXT. + ENDIF. + ro_html->add_a( iv_act = |{ gc_action-repo_toggle_fav }?{ io_repo->get_key( ) }| + iv_txt = lcl_html=>icon( iv_name = lv_icon + iv_class = 'pad-sides' + iv_hint = 'Click to toggle favorite' ) ). + + 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_icon( iv_name = 'lock' iv_hint = 'Locked from pulls' ). + ENDIF. + + IF io_repo->is_offline( ) = abap_false. + lo_repo_online ?= io_repo. + IF iv_show_branch = abap_true. + IF iv_branch IS INITIAL. + ro_html->add( render_branch_span( iv_branch = lo_repo_online->get_branch_name( ) + io_repo = lo_repo_online + iv_interactive = iv_interactive_branch ) ). + ELSE. + ro_html->add( render_branch_span( iv_branch = iv_branch + io_repo = lo_repo_online + iv_interactive = iv_interactive_branch ) ). + ENDIF. + ENDIF. + ENDIF. + + IF iv_show_package = abap_true. + ro_html->add_icon( iv_name = 'pkg' iv_hint = 'SAP package' ). + ro_html->add( '' ). + ro_html->add_a( iv_txt = io_repo->get_package( ) + iv_act = |{ gc_action-jump_pkg }?{ io_repo->get_package( ) }| ). + ro_html->add( '' ). + ENDIF. + + ro_html->add( ' | ' ). + ro_html->add( '
' ).
- ro_html->add( | | ' ).
-
- ro_html->add( '' ).
-
- IF abap_true = lcl_app=>user( )->is_favorite_repo( io_repo->get_key( ) ).
- lv_icon = 'img/star' ##NO_TEXT.
- ELSE.
- lv_icon = 'img/star-grey' ##NO_TEXT.
- ENDIF.
- lv_icon = | | ' ).
- 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( '' ). "#EC NOTEXT - ro_html->add( |► { iv_title }| ). "#EC NOTEXT - ro_html->add( ' | ' ). "#EC NOTEXT + ro_html->add( |► { + ms_control-page_title + } | | ). "#EC NOTEXT - IF io_menu IS BOUND. + IF ms_control-page_menu IS BOUND. ro_html->add( '' ). "#EC NOTEXT - ro_html->add( io_menu->render( ) ). + ro_html->add( ms_control-page_menu->render( ) ). ro_html->add( ' | ' ). "#EC NOTEXT ENDIF. @@ -264,47 +112,74 @@ CLASS lcl_gui_page_super IMPLEMENTATION. CREATE OBJECT ro_html. ro_html->add( ' ' ). "#EC NOTEXT + + ENDMETHOD. "footer + + METHOD redirect. + + CREATE OBJECT ro_html. + + ro_html->add( '' ). "#EC NOTEXT + ro_html->add( '' ). "#EC NOTEXT + ro_html->add( '' ). "#EC NOTEXT + ro_html->add( || ). "#EC NOTEXT + ro_html->add( ''). "#EC NOTEXT + ro_html->add( ''). "#EC NOTEXT + + ENDMETHOD. + + METHOD scripts. + ASSERT 1 = 1. " Dummy + ENDMETHOD. "scripts + + METHOD lif_gui_page~on_event. + ev_state = gc_event_state-not_handled. + ENDMETHOD. "lif_gui_page~on_event + + METHOD lif_gui_page~render. + + DATA lo_script TYPE REF TO lcl_html. + + " Redirect + IF ms_control-redirect_url IS NOT INITIAL. + ro_html = redirect( ). + RETURN. + ENDIF. + + " Real page + CREATE OBJECT ro_html. + + ro_html->add( '' ). "#EC NOTEXT + ro_html->add( '' ). "#EC NOTEXT + ro_html->add( html_head( ) ). + ro_html->add( '' ). "#EC NOTEXT + ro_html->add( title( ) ). + ro_html->add( render_content( ) ). + ro_html->add( footer( ) ). ro_html->add( '' ). "#EC NOTEXT - IF io_include_script IS BOUND. + lo_script = scripts( ). + + IF lo_script IS BOUND AND lo_script->mv_html IS NOT INITIAL. ro_html->add( '' ). ENDIF. ro_html->add( ''). "#EC NOTEXT - ENDMETHOD. "render html footer & logo + ENDMETHOD. " lif_gui_page~render. - METHOD render_error. - - CREATE OBJECT ro_html. - - ro_html->add( '
' ). @@ -56,26 +56,25 @@ CLASS lcl_gui_page_db_display IMPLEMENTATION. | | { ms_key-value } |
{ lv_data }| ). ro_html->add( '' ). - ro_html->add( footer( ) ). - - ENDMETHOD. + ENDMETHOD. "render_content ENDCLASS. -CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM lcl_gui_page_super. +CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM lcl_gui_page. PUBLIC SECTION. - METHODS lif_gui_page~render REDEFINITION. - 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. @@ -86,9 +85,10 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION. METHOD constructor. super->constructor( ). ms_key = is_key. + ms_control-page_title = 'CONFIG EDIT'. ENDMETHOD. - METHOD lif_gui_page~render. + METHOD render_content. DATA: lv_data TYPE lcl_persistence_db=>ty_content-data_str, lo_toolbar TYPE REF TO lcl_html_toolbar. @@ -112,9 +112,6 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION. CREATE OBJECT ro_html. CREATE OBJECT lo_toolbar. - ro_html->add( header( ) ). - ro_html->add( title( 'CONFIG EDIT' ) ). - ro_html->add( '
{ + lcl_html=>icon( iv_name = 'star' iv_alt = 'Favs' iv_hint = 'Favorites' ) + } | | ). - ro_html->add( '' ). " Maximize width + ro_html->add( ' | ' ). " Maximize width IF lo_favbar->count( ) > 0. ro_html->add( lo_favbar->render( iv_sort = abap_true ) ). ELSE. - ro_html->add( `No favorites so far. For more info please check ` ). - ro_html->add_anchor( iv_txt = 'tutorial' iv_act = gc_action-go_tutorial ). - ro_html->add( '' ). + ro_html->add( |No favorites so far. For more info please check { + lcl_html=>a( iv_txt = 'tutorial' iv_act = gc_action-go_tutorial ) + }| ). ENDIF. ro_html->add( ' | ' ). ro_html->add( '' ).
ro_html->add( lo_allbar->render(
- iv_as_droplist_with_label = ' | ).
- ro_html->add( render_repo_top( io_repo = io_repo iv_interactive_branch = abap_true ) ).
- ro_html->add( mo_repo_content->lif_gui_page~render( ) ).
+ ro_html->add( lcl_gui_chunk_lib=>render_repo_top( io_repo = io_repo
+ iv_interactive_branch = abap_true ) ).
+ ro_html->add( mo_repo_content->render( ) ).
ro_html->add( ' ' ).
ENDMETHOD. "render_repo
diff --git a/src/zabapgit_page_merge.prog.abap b/src/zabapgit_page_merge.prog.abap
index c415d02eb..e51157d7a 100644
--- a/src/zabapgit_page_merge.prog.abap
+++ b/src/zabapgit_page_merge.prog.abap
@@ -315,7 +315,7 @@ ENDCLASS.
*********************************
-CLASS lcl_gui_page_merge DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
+CLASS lcl_gui_page_merge DEFINITION FINAL INHERITING FROM lcl_gui_page.
PUBLIC SECTION.
METHODS:
@@ -324,8 +324,10 @@ CLASS lcl_gui_page_merge DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
iv_source TYPE string
iv_target TYPE string
RAISING lcx_exception,
- lif_gui_page~on_event REDEFINITION,
- lif_gui_page~render REDEFINITION.
+ lif_gui_page~on_event REDEFINITION.
+
+ PROTECTED SECTION.
+ METHODS render_content REDEFINITION.
PRIVATE SECTION.
DATA: mo_repo TYPE REF TO lcl_repo_online,
@@ -346,6 +348,8 @@ CLASS lcl_gui_page_merge IMPLEMENTATION.
METHOD constructor.
super->constructor( ).
+ ms_control-page_title = 'MERGE'.
+ ms_control-page_menu = build_menu( ).
mo_repo = io_repo.
@@ -381,7 +385,7 @@ CLASS lcl_gui_page_merge IMPLEMENTATION.
ENDMETHOD.
- METHOD lif_gui_page~render.
+ METHOD render_content.
DEFINE _show_file.
READ TABLE &1 ASSIGNING ' ).
- ro_html->add( render_repo_top(
+ ro_html->add( lcl_gui_chunk_lib=>render_repo_top(
io_repo = mo_repo
iv_show_package = abap_false
iv_show_branch = abap_false ) ).
@@ -473,8 +475,7 @@ CLASS lcl_gui_page_merge IMPLEMENTATION.
ro_html->add( ms_merge-conflict ).
ro_html->add( '' ).
ro_html->add( ' ' ).
- ro_html->add( footer( ) ).
- ENDMETHOD.
+ ENDMETHOD. "render_content
ENDCLASS.
\ No newline at end of file
diff --git a/src/zabapgit_page_settings.prog.abap b/src/zabapgit_page_settings.prog.abap
index 4f11a9d5c..fecba3154 100644
--- a/src/zabapgit_page_settings.prog.abap
+++ b/src/zabapgit_page_settings.prog.abap
@@ -2,17 +2,20 @@
*& Include ZABAPGIT_PAGE_SETTINGS
*&---------------------------------------------------------------------*
-CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
+CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page.
PUBLIC SECTION.
-
- METHODS lif_gui_page~render REDEFINITION.
- METHODS lif_gui_page~on_event REDEFINITION.
CONSTANTS:
BEGIN OF c_action,
save_settings TYPE string VALUE 'save_settings',
END OF c_action.
+ METHODS constructor.
+ METHODS lif_gui_page~on_event REDEFINITION.
+
+ PROTECTED SECTION.
+ METHODS render_content REDEFINITION.
+
PRIVATE SECTION.
DATA:
@@ -20,13 +23,13 @@ CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
mv_error TYPE abap_bool.
METHODS render_proxy
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
METHODS render_development_internals
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
METHODS render_form_begin
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
METHODS render_form_end
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
METHODS build_settings
IMPORTING
it_post_fields TYPE tihttpnvp.
@@ -45,24 +48,24 @@ ENDCLASS.
CLASS lcl_gui_page_settings IMPLEMENTATION.
- METHOD lif_gui_page~render.
+ METHOD constructor.
+ super->constructor( ).
+ ms_control-page_title = 'SETTINGS'.
+ ENDMETHOD. " constructor.
+
+ METHOD render_content.
CREATE OBJECT ro_html.
read_settings( ).
- ro_html->add( header( ) ).
- ro_html->add( title( 'Settings' ) ).
-
ro_html->add( render_form_begin( ) ).
ro_html->add( render_proxy( ) ).
ro_html->add( || ). ro_html->add( render_development_internals( ) ). ro_html->add( render_form_end( ) ). - ro_html->add( footer( ) ). - - ENDMETHOD. + ENDMETHOD. "render_content METHOD render_proxy. diff --git a/src/zabapgit_page_stage.prog.abap b/src/zabapgit_page_stage.prog.abap index 9c1893be2..e460b7c1b 100644 --- a/src/zabapgit_page_stage.prog.abap +++ b/src/zabapgit_page_stage.prog.abap @@ -2,7 +2,7 @@ *& Include ZABAPGIT_PAGE_STAGE *&---------------------------------------------------------------------* -CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page_super. +CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page. PUBLIC SECTION. CONSTANTS: BEGIN OF c_action, @@ -14,9 +14,13 @@ CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page_super. constructor IMPORTING io_repo TYPE REF TO lcl_repo_online RAISING lcx_exception, - lif_gui_page~render REDEFINITION, lif_gui_page~on_event REDEFINITION. + PROTECTED SECTION. + METHODS: + render_content REDEFINITION, + scripts REDEFINITION. + PRIVATE SECTION. DATA: mo_repo TYPE REF TO lcl_repo_online, ms_files TYPE ty_stage_files, @@ -25,15 +29,13 @@ CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page_super. METHODS: render_list - RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper, + RETURNING VALUE(ro_html) TYPE REF TO lcl_html, render_file IMPORTING is_file TYPE ty_file iv_context TYPE string - RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper, + RETURNING VALUE(ro_html) TYPE REF TO lcl_html, render_menu - RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper, - scripts - RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. + RETURNING VALUE(ro_html) TYPE REF TO lcl_html. METHODS process_stage_list IMPORTING it_postdata TYPE cnht_post_data_tab @@ -46,6 +48,7 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. METHOD constructor. super->constructor( ). + ms_control-page_title = 'STAGE'. mo_repo = io_repo. ms_files = lcl_stage_logic=>get( mo_repo ). @@ -150,8 +153,8 @@ CLASS lcl_gui_page_stage IMPLEMENTATION. ro_html->add(' LOCAL | ' ).
IF lines( ms_files-local ) > 1.
- ro_html->add_anchor( iv_txt = |{ lines( ms_files-local ) } diffs|
- iv_act = |{ gc_action-go_diff }?key={ mo_repo->get_key( ) }| ).
+ ro_html->add_a( iv_txt = |{ lines( ms_files-local ) } diffs|
+ iv_act = |{ gc_action-go_diff }?key={ mo_repo->get_key( ) }| ).
ENDIF.
ro_html->add(' | add | ' ).
ro_html->add( '' ).
- ro_html->add_anchor( iv_txt = 'diff' iv_act = |{ gc_action-go_diff }?{ lv_param }| ).
+ ro_html->add_a( iv_txt = 'diff' iv_act = |{ gc_action-go_diff }?{ lv_param }| ).
ro_html->add( ' | ' ).
WHEN 'remote'.
ro_html->add( 'ignoreremove | ' ).
@@ -211,38 +214,33 @@ CLASS lcl_gui_page_stage IMPLEMENTATION.
ENDMETHOD. "render_file
- METHOD lif_gui_page~render.
+ METHOD render_content.
CREATE OBJECT ro_html.
- ro_html->add( header( ) ).
- ro_html->add( title( 'STAGE' ) ).
-
ro_html->add( '' ).
- ro_html->add( render_repo_top( mo_repo ) ).
+ ro_html->add( lcl_gui_chunk_lib=>render_repo_top( mo_repo ) ).
ro_html->add( render_menu( ) ).
ro_html->add( render_list( ) ).
ro_html->add( ' ' ).
- ro_html->add( footer( scripts( ) ) ).
-
- ENDMETHOD. "lif_gui_page~render
+ ENDMETHOD. "render_content
METHOD render_menu.
CREATE OBJECT ro_html.
ro_html->add( '' ).
- ro_html->add_anchor( iv_act = 'gHelper.submit();'
- iv_typ = gc_action_type-onclick
- iv_id = 'act_commit'
- iv_style = 'display: none'
- iv_txt = 'Commit'
- iv_opt = gc_html_opt-emphas ) ##NO_TEXT.
+ ro_html->add_a( iv_act = 'gHelper.submit();'
+ iv_typ = gc_action_type-onclick
+ iv_id = 'act_commit'
+ iv_style = 'display: none'
+ iv_txt = 'Commit'
+ iv_opt = gc_html_opt-strong ) ##NO_TEXT.
IF lines( ms_files-local ) > 0.
- ro_html->add_anchor( iv_act = |{ c_action-stage_all }|
- iv_id = 'act_commit_all'
- iv_txt = 'Add all and commit') ##NO_TEXT.
+ ro_html->add_a( iv_act = |{ c_action-stage_all }|
+ iv_id = 'act_commit_all'
+ iv_txt = 'Add all and commit') ##NO_TEXT.
ENDIF.
ro_html->add( ' ' ).
diff --git a/src/zabapgit_unit_test.prog.abap b/src/zabapgit_unit_test.prog.abap
index 2d63e98a7..8fb06bc0c 100644
--- a/src/zabapgit_unit_test.prog.abap
+++ b/src/zabapgit_unit_test.prog.abap
@@ -1237,7 +1237,7 @@ ENDCLASS. "lcl_abap_unit IMPLEMENTATION
CLASS ltcl_html_helper DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
PRIVATE SECTION.
- DATA: mo_html TYPE REF TO lcl_html_helper.
+ DATA: mo_html TYPE REF TO lcl_html.
METHODS:
indent1 FOR TESTING RAISING lcx_exception,
diff --git a/src/zabapgit_util.prog.abap b/src/zabapgit_util.prog.abap
index 7ae234ff9..20478551d 100644
--- a/src/zabapgit_util.prog.abap
+++ b/src/zabapgit_util.prog.abap
@@ -1043,7 +1043,7 @@ CLASS lcl_log DEFINITION FINAL.
count
RETURNING VALUE(rv_count) TYPE i,
to_html
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper,
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html,
clear,
has_rc "For unit tests mainly
IMPORTING iv_rc TYPE balsort
diff --git a/src/zabapgit_view_repo.prog.abap b/src/zabapgit_view_repo.prog.abap
index da446e9ba..cf2cbdd8c 100644
--- a/src/zabapgit_view_repo.prog.abap
+++ b/src/zabapgit_view_repo.prog.abap
@@ -2,8 +2,10 @@
*& Include ZABAPGIT_VIEW_REPO
*&---------------------------------------------------------------------*
-CLASS lcl_gui_view_repo_content DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
+CLASS lcl_gui_view_repo_content DEFINITION FINAL.
PUBLIC SECTION.
+ INTERFACES lif_gui_page.
+ ALIASES render FOR lif_gui_page~render.
CONSTANTS: BEGIN OF c_actions,
change_dir TYPE string VALUE 'change_dir' ##NO_TEXT,
@@ -12,9 +14,6 @@ CLASS lcl_gui_view_repo_content DEFINITION FINAL INHERITING FROM lcl_gui_page_su
toggle_changes TYPE string VALUE 'toggle_changes' ##NO_TEXT,
END OF c_actions.
- METHODS: lif_gui_page~render REDEFINITION,
- lif_gui_page~on_event REDEFINITION.
-
METHODS constructor
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
RAISING lcx_exception.
@@ -31,21 +30,21 @@ CLASS lcl_gui_view_repo_content DEFINITION FINAL INHERITING FROM lcl_gui_page_su
render_head_menu
IMPORTING iv_lstate TYPE char1
iv_rstate TYPE char1
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html
RAISING lcx_exception,
render_grid_menu
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html
RAISING lcx_exception,
render_item
IMPORTING is_item TYPE lcl_repo_content_browser=>ty_repo_item
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html
RAISING lcx_exception,
render_item_files
IMPORTING is_item TYPE lcl_repo_content_browser=>ty_repo_item
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper,
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html,
render_item_command
IMPORTING is_item TYPE lcl_repo_content_browser=>ty_repo_item
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper,
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html,
get_item_class
IMPORTING is_item TYPE lcl_repo_content_browser=>ty_repo_item
RETURNING VALUE(rv_html) TYPE string,
@@ -55,7 +54,7 @@ CLASS lcl_gui_view_repo_content DEFINITION FINAL INHERITING FROM lcl_gui_page_su
render_empty_package
RETURNING VALUE(rv_html) TYPE string,
render_parent_dir
- RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
+ RETURNING VALUE(ro_html) TYPE REF TO lcl_html
RAISING lcx_exception.
METHODS:
@@ -150,7 +149,7 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
ro_html->add( render_grid_menu( ) ).
" Repo content table
- ro_html->add( '
|