mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Merge pull request #526 from sbcgua/master
html refactoring, render sequence refactoring
This commit is contained in:
commit
33bb7d52bf
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
METHODS add_a IMPORTING iv_txt TYPE string
|
||||
iv_act TYPE string
|
||||
iv_opt TYPE clike OPTIONAL
|
||||
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
|
||||
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( |<a{ lv_id }{ lv_class }{ lv_href }{ lv_style }>{ iv_txt }</a>| ).
|
||||
rv_str = |<a{ lv_id }{ lv_class }{ lv_href }{ lv_style }>{ iv_txt }</a>|.
|
||||
|
||||
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 = |<img src="img/{ iv_name }"{ lv_alt }{ lv_class }{ lv_hint }> |.
|
||||
|
||||
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( |<a class="{ lv_class }">{ iv_as_droplist_with_label }</a>| ).
|
||||
|
||||
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,11 +397,11 @@ CLASS lcl_html_toolbar IMPLEMENTATION.
|
|||
|
||||
IF iv_with_icons = abap_true.
|
||||
ro_html->add( '<tr>' ).
|
||||
ro_html->add( |<td class="icon">{ <ls_item>-ico }</td>| ).
|
||||
ro_html->add( '<td width="100%">' ).
|
||||
ro_html->add( |<td class="icon">{ lcl_html=>icon( <ls_item>-ico ) }</td>| ).
|
||||
ro_html->add( '<td class="text">' ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add_anchor( iv_txt = <ls_item>-txt
|
||||
ro_html->add_a( iv_txt = <ls_item>-txt
|
||||
iv_act = <ls_item>-act
|
||||
iv_opt = <ls_item>-opt
|
||||
iv_typ = <ls_item>-typ
|
||||
|
|
200
src/zabapgit_html_chunks.prog.abap
Normal file
200
src/zabapgit_html_chunks.prog.abap
Normal file
|
@ -0,0 +1,200 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_HTML_CHUNKS
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_chunk_lib DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
CLASS-METHODS render_error
|
||||
IMPORTING ix_error TYPE REF TO lcx_exception OPTIONAL
|
||||
iv_error TYPE string OPTIONAL
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
CLASS-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
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS render_item_state
|
||||
IMPORTING iv1 TYPE char1
|
||||
iv2 TYPE char1
|
||||
RETURNING VALUE(rv_html) TYPE string.
|
||||
|
||||
CLASS-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
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDCLASS. "lcl_gui_chunk_lib
|
||||
|
||||
CLASS lcl_gui_chunk_lib IMPLEMENTATION.
|
||||
|
||||
METHOD render_repo_top.
|
||||
|
||||
DATA: lo_repo_online TYPE REF TO lcl_repo_online,
|
||||
lo_pback TYPE REF TO lcl_persistence_background,
|
||||
lv_hint TYPE string,
|
||||
lv_icon TYPE string.
|
||||
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
CREATE OBJECT lo_pback.
|
||||
|
||||
IF io_repo->is_offline( ) = abap_true.
|
||||
lv_icon = 'repo_offline' ##NO_TEXT.
|
||||
lv_hint = 'Offline repository' ##NO_TEXT.
|
||||
ELSE.
|
||||
lv_icon = 'repo_online' ##NO_TEXT.
|
||||
lv_hint = 'On-line repository' ##NO_TEXT.
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '<table class="w100"><tr>' ).
|
||||
|
||||
ro_html->add( '<td class="repo_name">' ).
|
||||
ro_html->add_icon( iv_name = lv_icon iv_hint = lv_hint ).
|
||||
ro_html->add( |<span class="name">{ io_repo->get_name( ) }</span>| ).
|
||||
IF io_repo->is_offline( ) = abap_false.
|
||||
lo_repo_online ?= io_repo.
|
||||
ro_html->add( |<span class="url">{ lo_repo_online->get_url( ) }</span>| ).
|
||||
ENDIF.
|
||||
ro_html->add( '</td>' ).
|
||||
|
||||
ro_html->add( '<td class="repo_attr right">' ).
|
||||
|
||||
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( '<span class="bg_marker" title="background">BG</span>' ).
|
||||
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( '<span>' ).
|
||||
ro_html->add_a( iv_txt = io_repo->get_package( )
|
||||
iv_act = |{ gc_action-jump_pkg }?{ io_repo->get_package( ) }| ).
|
||||
ro_html->add( '</span>' ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '</td>' ).
|
||||
ro_html->add( '</tr></table>' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD render_item_state.
|
||||
|
||||
DATA: lv_system TYPE string.
|
||||
|
||||
FIELD-SYMBOLS <state> TYPE char1.
|
||||
|
||||
|
||||
rv_html = '<span class="state-block">'.
|
||||
|
||||
DO 2 TIMES.
|
||||
CASE sy-index.
|
||||
WHEN 1.
|
||||
ASSIGN iv1 TO <state>.
|
||||
lv_system = 'Local:'.
|
||||
WHEN 2.
|
||||
ASSIGN iv2 TO <state>.
|
||||
lv_system = 'Remote:'.
|
||||
ENDCASE.
|
||||
|
||||
CASE <state>.
|
||||
WHEN gc_state-unchanged. "None or unchanged
|
||||
IF iv1 = gc_state-added OR iv2 = gc_state-added.
|
||||
rv_html = rv_html && |<span class="none" title="{ lv_system } Not exists">X</span>|.
|
||||
ELSE.
|
||||
rv_html = rv_html && |<span class="none" title="{ lv_system } No changes"> </span>|.
|
||||
ENDIF.
|
||||
WHEN gc_state-modified. "Changed
|
||||
rv_html = rv_html && |<span class="changed" title="{ lv_system } Modified">M</span>|.
|
||||
WHEN gc_state-added. "Added new
|
||||
rv_html = rv_html && |<span class="added" title="{ lv_system } Added new">A</span>|.
|
||||
WHEN gc_state-mixed. "Multiple changes (multifile)
|
||||
rv_html = rv_html && |<span class="mixed" title="{ lv_system } Multiple changes">■</span>|.
|
||||
WHEN gc_state-deleted. "Deleted
|
||||
rv_html = rv_html && |<span class="deleted" title="{ lv_system } Deleted">D</span>|.
|
||||
ENDCASE.
|
||||
ENDDO.
|
||||
|
||||
rv_html = rv_html && '</span>'.
|
||||
|
||||
ENDMETHOD. "render_item_state
|
||||
|
||||
METHOD render_branch_span.
|
||||
|
||||
DATA: lv_text TYPE string,
|
||||
lv_class TYPE string.
|
||||
|
||||
lv_text = lcl_git_branch_list=>get_display_name( iv_branch ).
|
||||
|
||||
IF iv_branch = io_repo->get_head_branch_name( ) OR iv_branch = lcl_git_branch_list=>head_name.
|
||||
lv_class = 'branch branch_head'.
|
||||
ELSEIF lcl_git_branch_list=>get_type( iv_branch ) = lcl_git_branch_list=>c_type-branch.
|
||||
lv_class = 'branch branch_branch'.
|
||||
ELSE.
|
||||
lv_class = 'branch'.
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
ro_html->add( |<span class="{ lv_class }">| ).
|
||||
ro_html->add_icon( iv_name = 'branch' iv_hint = 'Current branch' ).
|
||||
IF iv_interactive = abap_true.
|
||||
ro_html->add_a( iv_act = |{ gc_action-git_branch_switch }?{ io_repo->get_key( ) }|
|
||||
iv_txt = lv_text ).
|
||||
ELSE.
|
||||
ro_html->add( lv_text ).
|
||||
ENDIF.
|
||||
ro_html->add( '</span>' ).
|
||||
|
||||
ENDMETHOD. "render_branch_span
|
||||
|
||||
METHOD render_error.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<div class="dummydiv attention">' ).
|
||||
IF ix_error IS BOUND.
|
||||
ro_html->add( |Error: { ix_error->mv_text }| ).
|
||||
ELSE.
|
||||
ro_html->add( |Error: { iv_error }| ).
|
||||
ENDIF.
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ENDMETHOD. "render_error
|
||||
|
||||
ENDCLASS. "lcl_gui_chunk_lib
|
48
src/zabapgit_html_chunks.prog.xml
Normal file
48
src/zabapgit_html_chunks.prog.xml
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<PROGDIR>
|
||||
<NAME>ZABAPGIT_HTML_CHUNKS</NAME>
|
||||
<STATE>A</STATE>
|
||||
<SQLX/>
|
||||
<EDTX/>
|
||||
<VARCL>X</VARCL>
|
||||
<DBAPL/>
|
||||
<DBNA/>
|
||||
<CLAS/>
|
||||
<TYPE/>
|
||||
<OCCURS/>
|
||||
<SUBC>I</SUBC>
|
||||
<APPL/>
|
||||
<SECU/>
|
||||
<CNAM/>
|
||||
<CDAT>0000-00-00</CDAT>
|
||||
<UNAM/>
|
||||
<UDAT>0000-00-00</UDAT>
|
||||
<VERN/>
|
||||
<LEVL/>
|
||||
<RSTAT/>
|
||||
<RMAND/>
|
||||
<RLOAD>E</RLOAD>
|
||||
<FIXPT/>
|
||||
<SSET/>
|
||||
<SDATE>0000-00-00</SDATE>
|
||||
<STIME/>
|
||||
<IDATE>0000-00-00</IDATE>
|
||||
<ITIME/>
|
||||
<LDBNAME/>
|
||||
<UCCHECK>X</UCCHECK>
|
||||
</PROGDIR>
|
||||
<TPOOL>
|
||||
<item>
|
||||
<ID>R</ID>
|
||||
<KEY/>
|
||||
<ENTRY>Include ZABAPGIT_HTML_CHUNKS</ENTRY>
|
||||
<LENGTH>28</LENGTH>
|
||||
<SPLIT/>
|
||||
</item>
|
||||
</TPOOL>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -17,240 +17,88 @@ INTERFACE lif_gui_page.
|
|||
RAISING lcx_exception lcx_cancel.
|
||||
|
||||
METHODS render
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDINTERFACE.
|
||||
|
||||
CLASS lcl_gui_page_super DEFINITION ABSTRACT.
|
||||
CLASS lcl_gui_page 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.
|
||||
INTERFACES lif_gui_page.
|
||||
|
||||
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
|
||||
|
||||
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 render_item_state
|
||||
IMPORTING iv1 TYPE char1
|
||||
iv2 TYPE char1
|
||||
RETURNING VALUE(rv_html) TYPE string.
|
||||
|
||||
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
|
||||
METHODS scripts
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS header
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
PRIVATE SECTION.
|
||||
|
||||
METHODS footer
|
||||
IMPORTING io_include_script TYPE REF TO lcl_html_helper OPTIONAL
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
METHODS html_head
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
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.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
|
||||
METHODS footer
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
METHODS redirect
|
||||
IMPORTING iv_url TYPE string
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
ENDCLASS.
|
||||
ENDCLASS. "lcl_gui_page
|
||||
|
||||
CLASS lcl_gui_page_super IMPLEMENTATION.
|
||||
CLASS lcl_gui_page 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( '<table width="100%"><tr>' ).
|
||||
|
||||
ro_html->add( '<td class="repo_name">' ).
|
||||
ro_html->add( |<img src="{ lv_icon }">| ).
|
||||
ro_html->add( |<span class="name">{ io_repo->get_name( ) }</span>| ).
|
||||
IF io_repo->is_offline( ) = abap_false.
|
||||
lo_repo_online ?= io_repo.
|
||||
ro_html->add( |<span class="url">{ lo_repo_online->get_url( ) }</span>| ).
|
||||
ENDIF.
|
||||
ro_html->add( '</td>' ).
|
||||
|
||||
ro_html->add( '<td class="repo_attr right">' ).
|
||||
|
||||
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 = |<img class="pad-sides" src="{ lv_icon }" title="Click to toggle favorite">|.
|
||||
ro_html->add_anchor( iv_act = |{ gc_action-repo_toggle_fav }?{ io_repo->get_key( ) }|
|
||||
iv_txt = lv_icon ).
|
||||
|
||||
IF lo_pback->exists( io_repo->get_key( ) ) = abap_true.
|
||||
ro_html->add( '<span class="bg_marker" title="background">BG</span>' ).
|
||||
ENDIF.
|
||||
|
||||
IF io_repo->is_write_protected( ) = abap_true.
|
||||
ro_html->add( '<img src="img/lock" title="locked">' ).
|
||||
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( '<img src="img/pkg">' ).
|
||||
ro_html->add( '<span>' ).
|
||||
ro_html->add_anchor( iv_txt = io_repo->get_package( )
|
||||
iv_act = |{ gc_action-jump_pkg }?{ io_repo->get_package( ) }| ).
|
||||
ro_html->add( '</span>' ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '</td>' ).
|
||||
ro_html->add( '</tr></table>' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD render_item_state.
|
||||
|
||||
DATA: lv_system TYPE string.
|
||||
|
||||
FIELD-SYMBOLS <state> TYPE char1.
|
||||
|
||||
|
||||
rv_html = '<span class="state-block">'.
|
||||
|
||||
DO 2 TIMES.
|
||||
CASE sy-index.
|
||||
WHEN 1.
|
||||
ASSIGN iv1 TO <state>.
|
||||
lv_system = 'Local:'.
|
||||
WHEN 2.
|
||||
ASSIGN iv2 TO <state>.
|
||||
lv_system = 'Remote:'.
|
||||
ENDCASE.
|
||||
|
||||
CASE <state>.
|
||||
WHEN gc_state-unchanged. "None or unchanged
|
||||
IF iv1 = gc_state-added OR iv2 = gc_state-added.
|
||||
rv_html = rv_html && |<span class="none" title="{ lv_system } Not exists">X</span>|.
|
||||
ELSE.
|
||||
rv_html = rv_html && |<span class="none" title="{ lv_system } No changes"> </span>|.
|
||||
ENDIF.
|
||||
WHEN gc_state-modified. "Changed
|
||||
rv_html = rv_html && |<span class="changed" title="{ lv_system } Modified">M</span>|.
|
||||
WHEN gc_state-added. "Added new
|
||||
rv_html = rv_html && |<span class="added" title="{ lv_system } Added new">A</span>|.
|
||||
WHEN gc_state-mixed. "Multiple changes (multifile)
|
||||
rv_html = rv_html && |<span class="mixed" title="{ lv_system } Multiple changes">■</span>|.
|
||||
WHEN gc_state-deleted. "Deleted
|
||||
rv_html = rv_html && |<span class="deleted" title="{ lv_system } Deleted">D</span>|.
|
||||
ENDCASE.
|
||||
ENDDO.
|
||||
|
||||
rv_html = rv_html && '</span>'.
|
||||
|
||||
ENDMETHOD. "render_item_state
|
||||
|
||||
METHOD render_branch_span.
|
||||
DATA: lv_text TYPE string,
|
||||
lv_class TYPE string.
|
||||
|
||||
lv_text = lcl_git_branch_list=>get_display_name( iv_branch ).
|
||||
|
||||
IF iv_branch = io_repo->get_head_branch_name( ) OR iv_branch = lcl_git_branch_list=>head_name.
|
||||
lv_class = 'branch branch_head'.
|
||||
ELSEIF lcl_git_branch_list=>get_type( iv_branch ) = lcl_git_branch_list=>c_type-branch.
|
||||
lv_class = 'branch branch_branch'.
|
||||
ELSE.
|
||||
lv_class = 'branch'.
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
ro_html->add( |<span class="{ lv_class }">| ).
|
||||
ro_html->add( '<img src="img/branch">' ).
|
||||
IF iv_interactive = abap_true.
|
||||
ro_html->add_anchor( iv_act = |{ gc_action-git_branch_switch }?{ io_repo->get_key( ) }|
|
||||
iv_txt = lv_text ).
|
||||
ELSE.
|
||||
ro_html->add( lv_text ).
|
||||
ENDIF.
|
||||
ro_html->add( '</span>' ).
|
||||
|
||||
ENDMETHOD. "render_branch_span
|
||||
|
||||
METHOD header.
|
||||
METHOD html_head.
|
||||
|
||||
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( '<title>abapGit</title>' ). "#EC NOTEXT
|
||||
ro_html->add( '<link rel="stylesheet" type="text/css" href="css/common.css">' ).
|
||||
|
||||
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( '<script type="text/javascript" src="js/common.js"></script>' ). "#EC NOTEXT
|
||||
ro_html->add( '</head>' ). "#EC NOTEXT
|
||||
ro_html->add( '<body>' ). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD. "render html header
|
||||
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( '</head>' ). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD. "html_head
|
||||
|
||||
METHOD title.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<div id="header">' ). "#EC NOTEXT
|
||||
ro_html->add( '<table width="100%"><tr>' ). "#EC NOTEXT
|
||||
ro_html->add( '<table class="w100"><tr>' ). "#EC NOTEXT
|
||||
|
||||
ro_html->add( '<td class="logo">' ). "#EC NOTEXT
|
||||
ro_html->add( |<a href="sapevent:{ gc_action-abapgit_home }">| ). "#EC NOTEXT
|
||||
ro_html->add( '<img src="img/logo">' ). "#EC NOTEXT
|
||||
ro_html->add( '</a>' ). "#EC NOTEXT
|
||||
ro_html->add( '</td>' ). "#EC NOTEXT
|
||||
ro_html->add( |<td class="logo">{
|
||||
lcl_html=>a( iv_txt = '<img src="img/logo" alt="logo">'
|
||||
iv_act = gc_action-abapgit_home )
|
||||
}</td>| ). "#EC NOTEXT
|
||||
|
||||
ro_html->add( '<td class="headpad"><span class="page_title">' ). "#EC NOTEXT
|
||||
ro_html->add( |► { iv_title }| ). "#EC NOTEXT
|
||||
ro_html->add( '</span></td>' ). "#EC NOTEXT
|
||||
ro_html->add( |<td class="headpad"><span class="page_title"> ► {
|
||||
ms_control-page_title
|
||||
}</span></td>| ). "#EC NOTEXT
|
||||
|
||||
IF io_menu IS BOUND.
|
||||
IF ms_control-page_menu IS BOUND.
|
||||
ro_html->add( '<td class="headpad right">' ). "#EC NOTEXT
|
||||
ro_html->add( io_menu->render( ) ).
|
||||
ro_html->add( ms_control-page_menu->render( ) ).
|
||||
ro_html->add( '</td>' ). "#EC NOTEXT
|
||||
ENDIF.
|
||||
|
||||
|
@ -264,47 +112,74 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
|||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<div id="footer">' ). "#EC NOTEXT
|
||||
ro_html->add( '<img src="img/logo" >' ). "#EC NOTEXT
|
||||
ro_html->add( '<table width="100%"><tr><td width="40%"></td><td>' ). "#EC NOTEXT
|
||||
ro_html->add( |<span class="version">{ gc_abap_version }</span>| ). "#EC NOTEXT
|
||||
ro_html->add( '</td><td id="debug-output" width="40%"></td></tr></table>' ). "#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">{ 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
|
||||
ro_html->add( '</body>' ). "#EC NOTEXT
|
||||
|
||||
IF io_include_script IS BOUND.
|
||||
ro_html->add( '<script type="text/javascript">' ).
|
||||
ro_html->add( io_include_script ).
|
||||
ro_html->add( 'debugOutput("js: OK");' ).
|
||||
ro_html->add( '</script>' ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '</html>'). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD. "render html footer & logo
|
||||
|
||||
METHOD render_error.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<div class="dummydiv attention">' ).
|
||||
ro_html->add( |Error: { ix_error->mv_text }| ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ENDMETHOD. "render_error
|
||||
ENDMETHOD. "footer
|
||||
|
||||
METHOD redirect.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<!DOCTYPE html>' ). "#EC NOTEXT
|
||||
ro_html->add( '<html><head>' ). "#EC NOTEXT
|
||||
ro_html->add( |<meta http-equiv="refresh" content="0; url={ iv_url }">| ). "#EC NOTEXT
|
||||
ro_html->add( '</head></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 lif_gui_page~on_event.
|
||||
ev_state = gc_event_state-not_handled.
|
||||
ENDMETHOD. "lif_gui_page~on_event
|
||||
|
||||
ENDCLASS.
|
||||
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( '<!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->mv_html IS NOT INITIAL.
|
||||
ro_html->add( '<script type="text/javascript">' ).
|
||||
ro_html->add( lo_script ).
|
||||
ro_html->add( 'debugOutput("js: OK");' ).
|
||||
ro_html->add( '</script>' ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '</html>'). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD. " lif_gui_page~render.
|
||||
|
||||
ENDCLASS. "lcl_gui_page
|
|
@ -3,12 +3,14 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_background_run DEFINITION FINAL
|
||||
INHERITING FROM lcl_gui_page_super.
|
||||
INHERITING FROM lcl_gui_page.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
lif_gui_page~on_event REDEFINITION,
|
||||
lif_gui_page~render REDEFINITION.
|
||||
METHODS constructor.
|
||||
METHODS lif_gui_page~on_event REDEFINITION.
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA: mt_text TYPE TABLE OF string.
|
||||
|
@ -19,6 +21,11 @@ ENDCLASS.
|
|||
|
||||
CLASS lcl_gui_page_background_run IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_control-page_title = 'BACKGROUND_RUN'.
|
||||
ENDMETHOD. " constructor.
|
||||
|
||||
METHOD lif_gui_page~on_event.
|
||||
RETURN.
|
||||
ENDMETHOD.
|
||||
|
@ -47,46 +54,44 @@ CLASS lcl_gui_page_background_run IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD render_content.
|
||||
|
||||
DATA: lv_text LIKE LINE OF mt_text.
|
||||
|
||||
|
||||
run( ).
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( 'BACKGROUND_RUN' ) ).
|
||||
ro_html->add( '<div id="toc">' ).
|
||||
LOOP AT mt_text INTO lv_text.
|
||||
ro_html->add( '<pre>' && lv_text && '</pre><br>' ).
|
||||
ENDLOOP.
|
||||
ro_html->add( '</div>' ).
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_gui_page_background DEFINITION FINAL
|
||||
INHERITING FROM lcl_gui_page_super.
|
||||
INHERITING FROM lcl_gui_page.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING
|
||||
iv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
||||
lif_gui_page~on_event REDEFINITION,
|
||||
lif_gui_page~render REDEFINITION.
|
||||
constructor IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
||||
lif_gui_page~on_event REDEFINITION.
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA:
|
||||
mv_key TYPE lcl_persistence_repo=>ty_repo-key.
|
||||
|
||||
METHODS:
|
||||
build_menu
|
||||
RETURNING VALUE(ro_menu) TYPE REF TO lcl_html_toolbar,
|
||||
render_data
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
@ -94,10 +99,21 @@ ENDCLASS.
|
|||
CLASS lcl_gui_page_background IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
super->constructor( ).
|
||||
|
||||
mv_key = iv_key.
|
||||
ms_control-page_title = 'BACKGROUND'.
|
||||
ms_control-page_menu = build_menu( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD build_menu.
|
||||
CREATE OBJECT ro_menu.
|
||||
ro_menu->add( iv_txt = 'Run background logic'
|
||||
iv_act = gc_action-go_background_run ) ##NO_TEXT.
|
||||
ENDMETHOD. "build_menu
|
||||
|
||||
METHOD lif_gui_page~on_event.
|
||||
|
||||
DATA ls_bg_task TYPE lcl_persistence_background=>ty_background.
|
||||
|
@ -162,7 +178,7 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
|
|||
lv_afixed = ' checked' ##NO_TEXT.
|
||||
ENDCASE.
|
||||
|
||||
ro_html->add( render_repo_top( lo_repo ) ).
|
||||
ro_html->add( lcl_gui_chunk_lib=>render_repo_top( lo_repo ) ).
|
||||
ro_html->add( '<br>' ).
|
||||
|
||||
ro_html->add( '<u>Method</u><br>' ) ##NO_TEXT.
|
||||
|
@ -222,22 +238,12 @@ CLASS lcl_gui_page_background IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD render_content.
|
||||
|
||||
DATA lo_toolbar TYPE REF TO lcl_html_toolbar.
|
||||
|
||||
|
||||
CREATE OBJECT lo_toolbar.
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
lo_toolbar->add( iv_txt = 'Run background logic'
|
||||
iv_act = gc_action-go_background_run ) ##NO_TEXT.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( iv_title = 'BACKGROUND' io_menu = lo_toolbar ) ).
|
||||
ro_html->add( render_data( ) ).
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
ENDCLASS.
|
|
@ -302,15 +302,17 @@ ENDCLASS.
|
|||
|
||||
***********************
|
||||
|
||||
CLASS lcl_gui_page_branch_overview DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_branch_overview DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING io_repo TYPE REF TO lcl_repo_online
|
||||
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,
|
||||
|
@ -333,13 +335,13 @@ CLASS lcl_gui_page_branch_overview DEFINITION FINAL INHERITING FROM lcl_gui_page
|
|||
refresh
|
||||
RAISING lcx_exception,
|
||||
body
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception,
|
||||
form_select
|
||||
IMPORTING iv_name TYPE string
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper,
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html,
|
||||
render_merge
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception,
|
||||
decode_merge
|
||||
IMPORTING it_postdata TYPE cnht_post_data_tab
|
||||
|
@ -360,6 +362,8 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
|
|||
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_control-page_title = 'BRANCH_OVERVIEW'.
|
||||
ms_control-page_menu = build_menu( ).
|
||||
mo_repo = io_repo.
|
||||
refresh( ).
|
||||
ENDMETHOD.
|
||||
|
@ -416,7 +420,7 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
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 ) ).
|
||||
|
@ -577,17 +581,14 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD render_content.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( iv_title = 'BRANCH_OVERVIEW' io_menu = build_menu( ) ) ).
|
||||
ro_html->add( '<div id="toc">' ).
|
||||
ro_html->add( body( ) ).
|
||||
ro_html->add( '</div>' ).
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
ENDCLASS.
|
|
@ -2,7 +2,7 @@
|
|||
*& Include ZABAPGIT_PAGE_COMMIT
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_commit DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_commit DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
|
@ -16,24 +16,26 @@ CLASS lcl_gui_page_commit DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
|||
IMPORTING io_repo TYPE REF TO lcl_repo_online
|
||||
io_stage TYPE REF TO lcl_stage
|
||||
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,
|
||||
mo_stage TYPE REF TO lcl_stage.
|
||||
|
||||
METHODS:
|
||||
render_menu
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper,
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html,
|
||||
render_stage
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception,
|
||||
render_form
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RAISING lcx_exception,
|
||||
scripts
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
@ -44,6 +46,8 @@ CLASS lcl_gui_page_commit IMPLEMENTATION.
|
|||
|
||||
mo_repo = io_repo.
|
||||
mo_stage = io_stage.
|
||||
|
||||
ms_control-page_title = 'COMMIT'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_gui_page~on_event.
|
||||
|
@ -68,15 +72,12 @@ CLASS lcl_gui_page_commit IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD render_content.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( 'COMMIT' ) ).
|
||||
|
||||
ro_html->add( '<div class="repo">' ).
|
||||
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_branch = mo_stage->get_branch_name( ) ) ).
|
||||
|
@ -86,9 +87,7 @@ CLASS lcl_gui_page_commit IMPLEMENTATION.
|
|||
ro_html->add( render_stage( ) ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ro_html->add( footer( io_include_script = scripts( ) ) ).
|
||||
|
||||
ENDMETHOD. "lif_gui_page~render
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
METHOD render_stage.
|
||||
|
||||
|
@ -201,7 +200,7 @@ CLASS lcl_gui_page_commit IMPLEMENTATION.
|
|||
lo_toolbar->add( iv_act = 'submitFormById(''commit_form'');'
|
||||
iv_txt = 'Commit'
|
||||
iv_typ = gc_action_type-onclick
|
||||
iv_opt = gc_html_opt-emphas ) ##NO_TEXT.
|
||||
iv_opt = gc_html_opt-strong ) ##NO_TEXT.
|
||||
|
||||
lo_toolbar->add( iv_act = 'commit_cancel'
|
||||
iv_txt = 'Cancel'
|
||||
|
|
|
@ -2,14 +2,15 @@
|
|||
*& Include ZABAPGIT_PAGE_DB
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_db_display DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_db_display 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.
|
||||
|
||||
|
@ -20,9 +21,10 @@ CLASS lcl_gui_page_db_display IMPLEMENTATION.
|
|||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_key = is_key.
|
||||
ms_control-page_title = 'CONFIG DISPLAY'.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD render_content.
|
||||
|
||||
DATA: lv_data TYPE lcl_persistence_db=>ty_content-data_str,
|
||||
ls_action TYPE lcl_persistence_db=>ty_content,
|
||||
|
@ -44,8 +46,6 @@ CLASS lcl_gui_page_db_display IMPLEMENTATION.
|
|||
format = cl_abap_format=>e_html_attr ).
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( 'CONFIG DISPLAY' ) ).
|
||||
|
||||
ro_html->add( '<div class="db_entry">' ).
|
||||
ro_html->add( '<table class="toolbar"><tr><td>' ).
|
||||
|
@ -56,26 +56,25 @@ CLASS lcl_gui_page_db_display IMPLEMENTATION.
|
|||
| <td>{ ms_key-value }</td></tr></table>| ).
|
||||
|
||||
ro_html->add( '</td><td class="right">' ).
|
||||
ro_html->add_anchor( iv_txt = 'Edit' iv_act = |{ gc_action-db_edit }?{ lv_action }| ).
|
||||
ro_html->add_a( iv_txt = 'Edit' iv_act = |{ gc_action-db_edit }?{ lv_action }| ).
|
||||
ro_html->add( '</td></tr></table>' ).
|
||||
|
||||
ro_html->add( |<pre>{ lv_data }</pre>| ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
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( '<div class="db_entry">' ).
|
||||
|
||||
" Banners
|
||||
|
@ -135,7 +132,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
|
|||
lo_toolbar->add( iv_act = 'submitFormById(''db_form'');'
|
||||
iv_txt = 'Save'
|
||||
iv_typ = gc_action_type-onclick
|
||||
iv_opt = gc_html_opt-emphas ) ##NO_TEXT.
|
||||
iv_opt = gc_html_opt-strong ) ##NO_TEXT.
|
||||
|
||||
ro_html->add( '<div class="paddings">' ).
|
||||
ro_html->add( lo_toolbar->render( ) ).
|
||||
|
@ -143,16 +140,17 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
|
|||
|
||||
ro_html->add( '</div>' ). "db_entry
|
||||
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS lif_gui_page~render REDEFINITION.
|
||||
METHODS constructor.
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS explain_content
|
||||
|
@ -160,12 +158,16 @@ CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
|||
RETURNING VALUE(rv_text) TYPE string
|
||||
RAISING lcx_exception.
|
||||
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_gui_page_db IMPLEMENTATION.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
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,
|
||||
|
@ -179,9 +181,6 @@ CLASS lcl_gui_page_db IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( 'DATABASE PERSISTENCY' ) ).
|
||||
|
||||
ro_html->add( '<div class="db_list">' ).
|
||||
ro_html->add( '<table class="db_tab">' ).
|
||||
|
||||
|
@ -220,9 +219,7 @@ CLASS lcl_gui_page_db IMPLEMENTATION.
|
|||
ro_html->add( '</table>' ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD. "lif_gui_page~render
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
METHOD explain_content.
|
||||
DATA: lv_result TYPE match_result,
|
||||
|
@ -241,9 +238,10 @@ CLASS lcl_gui_page_db IMPLEMENTATION.
|
|||
FIND FIRST OCCURRENCE OF REGEX '<OFFLINE/>'
|
||||
IN is_data-data_str IGNORING CASE MATCH COUNT lv_cnt.
|
||||
IF lv_cnt > 0.
|
||||
rv_text = |<b>On-line</b>, Name: <b>{ lcl_url=>name( rv_text ) }</b>|.
|
||||
rv_text = |<strong>On-line</strong>, Name: <strong>{
|
||||
lcl_url=>name( rv_text ) }</strong>|.
|
||||
ELSE.
|
||||
rv_text = |Off-line, Name: <b>{ rv_text }</b>|.
|
||||
rv_text = |Off-line, Name: <strong>{ rv_text }</strong>|.
|
||||
ENDIF.
|
||||
|
||||
WHEN 'BACKGROUND'.
|
||||
|
|
|
@ -2,15 +2,18 @@
|
|||
*& Include ZABAPGIT_PAGE_DEBUG
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
PUBLIC SECTION.
|
||||
METHODS lif_gui_page~render REDEFINITION.
|
||||
METHODS constructor.
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS:
|
||||
render_content REDEFINITION,
|
||||
scripts REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS scripts
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
METHODS render_debug_info
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS render_supported_object_types
|
||||
RETURNING VALUE(rv_html) TYPE string.
|
||||
|
||||
|
@ -18,21 +21,21 @@ ENDCLASS. "lcl_gui_page_debuginfo
|
|||
|
||||
CLASS lcl_gui_page_debuginfo IMPLEMENTATION.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_control-page_title = 'DEBUG INFO'.
|
||||
ENDMETHOD. " constructor.
|
||||
|
||||
METHOD render_content.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( 'DEBUG INFO' ) ).
|
||||
|
||||
ro_html->add( '<div id="debug_info" class="debug_container">' ).
|
||||
ro_html->add( render_debug_info( ) ).
|
||||
ro_html->add( render_supported_object_types( ) ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ro_html->add( footer( io_include_script = scripts( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
METHOD render_debug_info.
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
*& Include ZABAPGIT_PAGE_DIFF
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
|
@ -28,26 +28,27 @@ CLASS lcl_gui_page_diff DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
|||
is_object TYPE ty_item OPTIONAL
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS lif_gui_page~render REDEFINITION.
|
||||
PROTECTED SECTION.
|
||||
METHODS render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA: mt_diff_files TYPE tt_file_diff.
|
||||
|
||||
METHODS render_diff
|
||||
IMPORTING is_diff TYPE ty_file_diff
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS render_diff_head
|
||||
IMPORTING is_diff TYPE ty_file_diff
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS render_table_head
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS render_lines
|
||||
IMPORTING is_diff TYPE ty_file_diff
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS render_beacon
|
||||
IMPORTING is_diff_line TYPE lcl_diff=>ty_diff
|
||||
is_diff TYPE ty_file_diff
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS get_line_hl
|
||||
IMPORTING iv_mod TYPE char1
|
||||
iv_result TYPE lcl_diff=>ty_diff-result
|
||||
|
@ -73,6 +74,7 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
|
|||
FIELD-SYMBOLS: <ls_status> LIKE LINE OF lt_status.
|
||||
|
||||
super->constructor( ).
|
||||
ms_control-page_title = 'DIFF'.
|
||||
|
||||
ASSERT is_file IS INITIAL OR is_object IS INITIAL. " just one passed
|
||||
|
||||
|
@ -174,7 +176,7 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
|
|||
ENDMETHOD. "append_diff
|
||||
|
||||
METHOD render_diff_head.
|
||||
DATA: lo_html TYPE REF TO lcl_html_helper,
|
||||
DATA: lo_html TYPE REF TO lcl_html,
|
||||
ls_stats TYPE lcl_diff=>ty_count.
|
||||
|
||||
CREATE OBJECT lo_html.
|
||||
|
@ -191,7 +193,8 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
|
|||
lo_html->add( |<span class="diff_banner diff_del">- { ls_stats-delete }</span>| ).
|
||||
lo_html->add( |<span class="diff_banner diff_upd">~ { ls_stats-update }</span>| ).
|
||||
lo_html->add( |<span class="diff_name">{ is_diff-filename }</span>| ). "#EC NOTEXT
|
||||
lo_html->add( render_item_state( iv1 = is_diff-lstate iv2 = is_diff-rstate ) ).
|
||||
lo_html->add( lcl_gui_chunk_lib=>render_item_state( iv1 = is_diff-lstate
|
||||
iv2 = is_diff-rstate ) ).
|
||||
lo_html->add( '</div>' ). "#EC NOTEXT
|
||||
|
||||
ro_html = lo_html.
|
||||
|
@ -221,7 +224,7 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
|
|||
|
||||
" Content
|
||||
ro_html->add( '<div class="diff_content">' ). "#EC NOTEXT
|
||||
ro_html->add( '<table width="100%" class="diff_tab">' ). "#EC NOTEXT
|
||||
ro_html->add( '<table class="diff_tab">' ). "#EC NOTEXT
|
||||
ro_html->add( render_table_head( ) ).
|
||||
ro_html->add( render_lines( is_diff ) ).
|
||||
ro_html->add( '</table>' ). "#EC NOTEXT
|
||||
|
@ -342,15 +345,12 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD. " get_line_hl.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD render_content.
|
||||
|
||||
DATA ls_diff_file LIKE LINE OF mt_diff_files.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( 'DIFF' ) ).
|
||||
|
||||
LOOP AT mt_diff_files INTO ls_diff_file.
|
||||
lcl_progress=>show( iv_key = 'Diff'
|
||||
iv_current = sy-tabix
|
||||
|
@ -360,8 +360,6 @@ CLASS lcl_gui_page_diff IMPLEMENTATION.
|
|||
ro_html->add( render_diff( ls_diff_file ) ).
|
||||
ENDLOOP.
|
||||
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
ENDCLASS. "lcl_gui_page_diff
|
|
@ -2,19 +2,28 @@
|
|||
*& Include ZABAPGIT_PAGE_EXPLORE
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_explore DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_explore DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
PUBLIC SECTION.
|
||||
METHODS lif_gui_page~render REDEFINITION.
|
||||
|
||||
CONSTANTS c_explore_url TYPE string
|
||||
VALUE 'http://larshp.github.io/abapGit/explore.html'.
|
||||
|
||||
METHODS constructor.
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS render_content REDEFINITION.
|
||||
|
||||
ENDCLASS. "lcl_gui_page_explore DEFINITION
|
||||
|
||||
CLASS lcl_gui_page_explore IMPLEMENTATION.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_control-redirect_url = c_explore_url.
|
||||
ENDMETHOD. "constructor
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
ro_html->add( redirect( 'http://larshp.github.io/abapGit/explore.html' ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
METHOD render_content.
|
||||
ASSERT 1 = 1. " Dummy
|
||||
ENDMETHOD. "render_content.
|
||||
|
||||
ENDCLASS. "lcl_gui_page_explore IMPLEMENTATION
|
|
@ -2,15 +2,17 @@
|
|||
*& Include ZABAPGIT_PAGE_MAIN
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
constructor
|
||||
RAISING lcx_exception,
|
||||
lif_gui_page~render REDEFINITION,
|
||||
lif_gui_page~on_event REDEFINITION.
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS: BEGIN OF c_actions,
|
||||
show TYPE string VALUE 'show' ##NO_TEXT,
|
||||
|
@ -27,16 +29,16 @@ CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
|||
RAISING lcx_exception,
|
||||
render_toc
|
||||
IMPORTING it_repo_list TYPE lcl_repo_srv=>ty_repo_tt
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception,
|
||||
build_main_menu
|
||||
RETURNING VALUE(ro_menu) TYPE REF TO lcl_html_toolbar,
|
||||
render_explore
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception,
|
||||
render_repo
|
||||
IMPORTING io_repo TYPE REF TO lcl_repo
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
@ -46,6 +48,8 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_control-page_title = 'HOME'.
|
||||
ms_control-page_menu = build_main_menu( ).
|
||||
ENDMETHOD. " constructor
|
||||
|
||||
METHOD lif_gui_page~on_event.
|
||||
|
@ -112,7 +116,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
* RENDERING
|
||||
**********************************************************************
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
METHOD render_content.
|
||||
|
||||
DATA: lt_repos TYPE lcl_repo_srv=>ty_repo_tt,
|
||||
lx_error TYPE REF TO lcx_exception,
|
||||
|
@ -123,14 +127,10 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( iv_title = 'HOME'
|
||||
io_menu = build_main_menu( ) ) ).
|
||||
|
||||
TRY.
|
||||
lt_repos = lcl_app=>repo_srv( )->list( ).
|
||||
CATCH lcx_exception INTO lx_error.
|
||||
ro_html->add( render_error( lx_error ) ).
|
||||
ro_html->add( lcl_gui_chunk_lib=>render_error( ix_error = lx_error ) ).
|
||||
ENDTRY.
|
||||
|
||||
ro_html->add( render_toc( lt_repos ) ).
|
||||
|
@ -139,15 +139,13 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
ro_html->add( render_explore( ) ).
|
||||
ELSEIF mv_show IS INITIAL.
|
||||
CREATE OBJECT lo_tutorial.
|
||||
ro_html->add( lo_tutorial->lif_gui_page~render( ) ).
|
||||
ro_html->add( lo_tutorial->render( ) ).
|
||||
ELSE.
|
||||
lo_repo = lcl_app=>repo_srv( )->get( mv_show ).
|
||||
ro_html->add( render_repo( lo_repo ) ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD. "render
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
METHOD retrieve_active_repo.
|
||||
|
||||
|
@ -235,7 +233,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
LOOP AT it_repo_list INTO lo_repo.
|
||||
lv_key = lo_repo->get_key( ).
|
||||
IF lv_key = mv_show.
|
||||
lv_opt = gc_html_opt-emphas.
|
||||
lv_opt = gc_html_opt-strong.
|
||||
ELSE.
|
||||
CLEAR lv_opt.
|
||||
ENDIF.
|
||||
|
@ -256,9 +254,9 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
IF lo_repo->is_offline( ) = abap_true.
|
||||
lv_icon = '<img src="img/repo_offline">'.
|
||||
lv_icon = 'repo_offline'.
|
||||
ELSE.
|
||||
lv_icon = '<img src="img/repo_online">'.
|
||||
lv_icon = 'repo_online'.
|
||||
ENDIF.
|
||||
|
||||
lo_allbar->add( iv_txt = lv_repo_title
|
||||
|
@ -279,22 +277,24 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
|
||||
**********************************************************************
|
||||
|
||||
ro_html->add( '<table width="100%"><tr>' ).
|
||||
ro_html->add( '<td class="pad-sides"><img src="img/star"></td>' ).
|
||||
ro_html->add( '<table class="w100"><tr>' ).
|
||||
ro_html->add( |<td class="pad-sides">{
|
||||
lcl_html=>icon( iv_name = 'star' iv_alt = 'Favs' iv_hint = 'Favorites' )
|
||||
}</td>| ).
|
||||
|
||||
ro_html->add( '<td class="pad-sides" width="100%">' ). " Maximize width
|
||||
ro_html->add( '<td class="pad-sides w100">' ). " Maximize width
|
||||
IF lo_favbar->count( ) > 0.
|
||||
ro_html->add( lo_favbar->render( iv_sort = abap_true ) ).
|
||||
ELSE.
|
||||
ro_html->add( `<span class="grey">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( '</span>' ).
|
||||
ro_html->add( |<span class="grey">No favorites so far. For more info please check {
|
||||
lcl_html=>a( iv_txt = 'tutorial' iv_act = gc_action-go_tutorial )
|
||||
}</span>| ).
|
||||
ENDIF.
|
||||
ro_html->add( '</td>' ).
|
||||
|
||||
ro_html->add( '<td class="right">' ).
|
||||
ro_html->add( lo_allbar->render(
|
||||
iv_as_droplist_with_label = '<img class="pad4px" src="img/burger">'
|
||||
iv_as_droplist_with_label = lcl_html=>icon( iv_name = 'burger' iv_class = 'pad4px' )
|
||||
iv_sort = abap_true
|
||||
iv_with_icons = abap_true
|
||||
iv_add_minizone = abap_true ) ).
|
||||
|
@ -330,8 +330,9 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
|||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( |<div class="repo" id="repo{ io_repo->get_key( ) }">| ).
|
||||
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( '</div>' ).
|
||||
|
||||
ENDMETHOD. "render_repo
|
||||
|
|
|
@ -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 <ls_show>
|
||||
|
@ -410,10 +414,8 @@ CLASS lcl_gui_page_merge IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( header( ) ).
|
||||
ro_html->add( title( iv_title = 'MERGE' io_menu = build_menu( ) ) ).
|
||||
ro_html->add( '<div id="toc">' ).
|
||||
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( '</b>' ).
|
||||
ro_html->add( '</div>' ).
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
ENDCLASS.
|
|
@ -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( |<hr>| ).
|
||||
ro_html->add( render_development_internals( ) ).
|
||||
ro_html->add( render_form_end( ) ).
|
||||
|
||||
ro_html->add( footer( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
METHOD render_proxy.
|
||||
|
||||
|
|
|
@ -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,7 +153,7 @@ CLASS lcl_gui_page_stage IMPLEMENTATION.
|
|||
ro_html->add('<thead><tr>').
|
||||
ro_html->add('<th></th><th colspan="2">LOCAL</th><th>' ).
|
||||
IF lines( ms_files-local ) > 1.
|
||||
ro_html->add_anchor( iv_txt = |{ lines( ms_files-local ) } diffs|
|
||||
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('</th></tr></thead>').
|
||||
|
@ -200,7 +203,7 @@ CLASS lcl_gui_page_stage IMPLEMENTATION.
|
|||
ig_file = is_file ).
|
||||
ro_html->add( '<td class="cmd"><a>add</a></td>' ).
|
||||
ro_html->add( '<td>' ).
|
||||
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( '</td>' ).
|
||||
WHEN 'remote'.
|
||||
ro_html->add( '<td class="cmd"><a>ignore</a><a>remove</a></td>' ).
|
||||
|
@ -211,36 +214,31 @@ 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( '<div class="repo">' ).
|
||||
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( '</div>' ).
|
||||
|
||||
ro_html->add( footer( scripts( ) ) ).
|
||||
|
||||
ENDMETHOD. "lif_gui_page~render
|
||||
ENDMETHOD. "render_content
|
||||
|
||||
METHOD render_menu.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<div class="paddings">' ).
|
||||
ro_html->add_anchor( iv_act = 'gHelper.submit();'
|
||||
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-emphas ) ##NO_TEXT.
|
||||
iv_opt = gc_html_opt-strong ) ##NO_TEXT.
|
||||
IF lines( ms_files-local ) > 0.
|
||||
ro_html->add_anchor( iv_act = |{ c_action-stage_all }|
|
||||
ro_html->add_a( iv_act = |{ c_action-stage_all }|
|
||||
iv_id = 'act_commit_all'
|
||||
iv_txt = 'Add all and commit') ##NO_TEXT.
|
||||
ENDIF.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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( '<table width="100%" class="repo_tab">' ).
|
||||
ro_html->add( '<table class="repo_tab">' ).
|
||||
|
||||
IF lcl_path=>is_root( mv_cur_dir ) = abap_false.
|
||||
ro_html->add( render_parent_dir( ) ).
|
||||
|
@ -169,7 +168,7 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
|
||||
CATCH lcx_exception INTO lx_error.
|
||||
ro_html->add( render_head_menu( iv_lstate = lv_lstate iv_rstate = lv_rstate ) ).
|
||||
ro_html->add( lcl_gui_page_super=>render_error( lx_error ) ).
|
||||
ro_html->add( lcl_gui_chunk_lib=>render_error( ix_error = lx_error ) ).
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD. "lif_gui_page~render
|
||||
|
@ -233,7 +232,7 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
lv_wp_opt = gc_html_opt-crossout.
|
||||
lv_pull_opt = gc_html_opt-crossout.
|
||||
ELSE.
|
||||
lv_pull_opt = gc_html_opt-emphas.
|
||||
lv_pull_opt = gc_html_opt-strong.
|
||||
ENDIF.
|
||||
|
||||
" Build branch drop-down ========================
|
||||
|
@ -283,12 +282,12 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
IF iv_lstate IS NOT INITIAL. " Something new at local
|
||||
lo_toolbar->add( iv_txt = 'Stage'
|
||||
iv_act = |{ gc_action-go_stage }?{ lv_key }|
|
||||
iv_opt = gc_html_opt-emphas ).
|
||||
iv_opt = gc_html_opt-strong ).
|
||||
ENDIF.
|
||||
IF iv_rstate IS NOT INITIAL OR iv_lstate IS NOT INITIAL. " Any changes
|
||||
lo_toolbar->add( iv_txt = 'Show diff'
|
||||
iv_act = |{ gc_action-go_diff }?key={ lv_key }|
|
||||
iv_opt = gc_html_opt-emphas ).
|
||||
iv_opt = gc_html_opt-strong ).
|
||||
ENDIF.
|
||||
CATCH lcx_exception ##NO_HANDLER.
|
||||
" authorization error or repository does not exist
|
||||
|
@ -299,10 +298,10 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
ELSE.
|
||||
lo_toolbar->add( iv_txt = 'Import ZIP'
|
||||
iv_act = |{ gc_action-zip_import }?{ lv_key }|
|
||||
iv_opt = gc_html_opt-emphas ).
|
||||
iv_opt = gc_html_opt-strong ).
|
||||
lo_toolbar->add( iv_txt = 'Export ZIP'
|
||||
iv_act = |{ gc_action-zip_export }?{ lv_key }|
|
||||
iv_opt = gc_html_opt-emphas ).
|
||||
iv_opt = gc_html_opt-strong ).
|
||||
ENDIF.
|
||||
|
||||
lo_toolbar->add( iv_txt = 'Advanced'
|
||||
|
@ -312,7 +311,7 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
|
||||
" Render ==========================================
|
||||
ro_html->add( '<div class="paddings">' ).
|
||||
ro_html->add( '<table width="100%"><tr>' ).
|
||||
ro_html->add( '<table class="w100"><tr>' ).
|
||||
|
||||
IF mv_show_folders = abap_true.
|
||||
ro_html->add( |<td class="current_dir">{ mv_cur_dir }</td>| ).
|
||||
|
@ -349,17 +348,17 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
|
||||
CASE is_item-obj_type.
|
||||
WHEN 'PROG' OR 'CLAS' OR 'FUGR'.
|
||||
rv_html = |<img src="img/code">|.
|
||||
rv_html = lcl_html=>icon( 'code' ).
|
||||
WHEN 'W3MI' OR 'W3HT'.
|
||||
rv_html = |<img src="img/bin">|.
|
||||
rv_html = lcl_html=>icon( 'bin' ).
|
||||
WHEN ''.
|
||||
rv_html = space. " no icon
|
||||
WHEN OTHERS.
|
||||
rv_html = |<img src="img/obj">|.
|
||||
rv_html = lcl_html=>icon( 'obj' ).
|
||||
ENDCASE.
|
||||
|
||||
IF is_item-is_dir = abap_true.
|
||||
rv_html = |<img src="img/dir">|.
|
||||
rv_html = lcl_html=>icon( 'dir' ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD. "get_item_icon
|
||||
|
@ -436,7 +435,8 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
|
||||
ro_html->add( '<div>' ).
|
||||
ro_html->add( |<span class="grey">{ is_item-changes } changes</span>| ).
|
||||
ro_html->add( render_item_state( iv1 = is_item-lstate iv2 = is_item-rstate ) ).
|
||||
ro_html->add( lcl_gui_chunk_lib=>render_item_state( iv1 = is_item-lstate
|
||||
iv2 = is_item-rstate ) ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ELSEIF is_item-changes > 0.
|
||||
|
@ -448,9 +448,10 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
ig_object = is_item ).
|
||||
|
||||
ro_html->add( '<div>' ).
|
||||
ro_html->add_anchor( iv_txt = |view diff ({ is_item-changes })|
|
||||
ro_html->add_a( iv_txt = |view diff ({ is_item-changes })|
|
||||
iv_act = |{ gc_action-go_diff }?{ lv_difflink }| ).
|
||||
ro_html->add( render_item_state( iv1 = is_item-lstate iv2 = is_item-rstate ) ).
|
||||
ro_html->add( lcl_gui_chunk_lib=>render_item_state( iv1 = is_item-lstate
|
||||
iv2 = is_item-rstate ) ).
|
||||
ro_html->add( '</div>' ).
|
||||
|
||||
ELSE.
|
||||
|
@ -461,10 +462,10 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
lv_difflink = lcl_html_action_utils=>file_encode(
|
||||
iv_key = mo_repo->get_key( )
|
||||
ig_file = ls_file ).
|
||||
ro_html->add_anchor(
|
||||
iv_txt = 'view diff'
|
||||
ro_html->add_a( iv_txt = 'view diff'
|
||||
iv_act = |{ gc_action-go_diff }?{ lv_difflink }| ).
|
||||
ro_html->add( render_item_state( iv1 = ls_file-lstate iv2 = ls_file-rstate ) ).
|
||||
ro_html->add( lcl_gui_chunk_lib=>render_item_state( iv1 = ls_file-lstate
|
||||
iv2 = ls_file-rstate ) ).
|
||||
ELSE.
|
||||
ro_html->add( ' ' ).
|
||||
ENDIF.
|
||||
|
@ -490,7 +491,7 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<tr class="folder">' ).
|
||||
ro_html->add( |<td class="icon"><img src="img/dir"></td>| ).
|
||||
ro_html->add( |<td class="icon">{ lcl_html=>icon( 'dir' ) }</td>| ).
|
||||
ro_html->add( |<td class="object" colspan="2">{ build_dir_jump_link( '..' ) }</td>| ).
|
||||
IF mo_repo->is_offline( ) = abap_false.
|
||||
ro_html->add( |<td colspan="2"></td>| ). " Dummy for online
|
||||
|
@ -503,14 +504,14 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
|
||||
DATA: lv_path TYPE string,
|
||||
lv_encode TYPE string,
|
||||
lo_html TYPE REF TO lcl_html_helper.
|
||||
lo_html TYPE REF TO lcl_html.
|
||||
|
||||
lv_path = iv_path.
|
||||
REPLACE FIRST OCCURRENCE OF mv_cur_dir IN lv_path WITH ''.
|
||||
lv_encode = lcl_html_action_utils=>dir_encode( lv_path ).
|
||||
|
||||
CREATE OBJECT lo_html.
|
||||
lo_html->add_anchor( iv_txt = lv_path iv_act = |{ c_actions-change_dir }?{ lv_encode }| ).
|
||||
lo_html->add_a( iv_txt = lv_path iv_act = |{ c_actions-change_dir }?{ lv_encode }| ).
|
||||
rv_html = lo_html->mv_html.
|
||||
|
||||
ENDMETHOD. "build_dir_jump_link
|
||||
|
@ -518,13 +519,13 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
METHOD build_obj_jump_link.
|
||||
|
||||
DATA: lv_encode TYPE string,
|
||||
lo_html TYPE REF TO lcl_html_helper.
|
||||
lo_html TYPE REF TO lcl_html.
|
||||
|
||||
lv_encode = lcl_html_action_utils=>jump_encode( iv_obj_type = is_item-obj_type
|
||||
iv_obj_name = is_item-obj_name ).
|
||||
|
||||
CREATE OBJECT lo_html.
|
||||
lo_html->add_anchor( iv_txt = |{ is_item-obj_name }|
|
||||
lo_html->add_a( iv_txt = |{ is_item-obj_name }|
|
||||
iv_act = |{ gc_action-jump }?{ lv_encode }| ).
|
||||
rv_html = lo_html->mv_html.
|
||||
|
||||
|
|
|
@ -2,18 +2,23 @@
|
|||
*& Include ZABAPGIT_PAGE_TUTORIAL
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_gui_view_tutorial DEFINITION FINAL INHERITING FROM lcl_gui_page_super.
|
||||
CLASS lcl_gui_view_tutorial DEFINITION FINAL.
|
||||
PUBLIC SECTION.
|
||||
METHODS lif_gui_page~render REDEFINITION.
|
||||
INTERFACES lif_gui_page.
|
||||
ALIASES render FOR lif_gui_page~render.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS render_content
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
ENDCLASS. "lcl_gui_view_tutorial
|
||||
|
||||
CLASS lcl_gui_view_tutorial IMPLEMENTATION.
|
||||
|
||||
METHOD lif_gui_page~on_event.
|
||||
ev_state = gc_event_state-not_handled.
|
||||
ENDMETHOD. " lif_gui_page~on_event.
|
||||
|
||||
METHOD lif_gui_page~render.
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
@ -34,10 +39,10 @@ CLASS lcl_gui_view_tutorial IMPLEMENTATION.
|
|||
_add '<h2>Adding and cloning repos</h2>'.
|
||||
_add '<p><ul>'.
|
||||
_add `<li>To clone a remote repo (e.g. from github) click `.
|
||||
ro_html->add_anchor( iv_txt = '+ Clone' iv_act = gc_action-repo_clone ).
|
||||
ro_html->add_a( iv_txt = '+ Clone' iv_act = gc_action-repo_clone ).
|
||||
_add ' from the top menu. This will copy a remote repo to your system.</li>'.
|
||||
_add `<li>To add a local package as a repo click `.
|
||||
ro_html->add_anchor( iv_txt = '+ Offline' iv_act = gc_action-repo_newoffline ).
|
||||
ro_html->add_a( iv_txt = '+ Offline' iv_act = gc_action-repo_newoffline ).
|
||||
_add ' from the top menu. This will track a repo which already exist in'.
|
||||
_add ' the system with abapGit. You''ll be able to attach it to remote origin'.
|
||||
_add ' or just serialize as a zip file</li>'.
|
||||
|
@ -45,18 +50,20 @@ CLASS lcl_gui_view_tutorial IMPLEMENTATION.
|
|||
|
||||
_add '<h2>Repository list and favorites</h2>'.
|
||||
_add '<p><ul>'.
|
||||
_add '<li>To choose a repo press <img src="img/burger"> at the favorite bar.</li>'.
|
||||
_add '<li>To favorite a repo click <img src="img/star-grey"> icon at repo toolbar.</li>'.
|
||||
ro_html->add( |<li>To choose a repo press {
|
||||
lcl_html=>icon( 'burger' ) } at the favorite bar.</li>| ).
|
||||
ro_html->add( |<li>To favorite a repo click {
|
||||
lcl_html=>icon( 'star-grey' ) } icon at repo toolbar.</li>| ).
|
||||
_add '</ul></p>'.
|
||||
|
||||
_add '<h2>abapGit related repositories</h2>'.
|
||||
_add '<p><ul>'.
|
||||
_add '<li>'.
|
||||
ro_html->add_anchor( iv_txt = 'install abapGit repo' iv_act = gc_action-abapgit_install ).
|
||||
ro_html->add_a( iv_txt = 'install abapGit repo' iv_act = gc_action-abapgit_install ).
|
||||
_add ' - To keep abapGit up-to-date (or also to contribute) you need to'.
|
||||
_add 'install it as a repository.</li>'.
|
||||
_add '<li>'.
|
||||
ro_html->add_anchor( iv_txt = 'install abapGit plugins' iv_act = gc_action-abapgit_install_pi ).
|
||||
ro_html->add_a( iv_txt = 'install abapGit plugins' iv_act = gc_action-abapgit_install_pi ).
|
||||
_add ' - you can also install plugins to extend supported object types</li>'.
|
||||
_add '</ul></p>'.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user