mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Merge pull request #313 from sbcgua/master
Finetunings in repo_head UI and html_helper
This commit is contained in:
commit
a4413dfae7
|
@ -270,8 +270,9 @@ CLASS lcl_html_helper DEFINITION FINAL.
|
|||
PUBLIC SECTION.
|
||||
CONSTANTS: c_indent_size TYPE i VALUE 2.
|
||||
|
||||
DATA mv_html TYPE string READ-ONLY.
|
||||
DATA mv_indent TYPE i READ-ONLY.
|
||||
DATA mv_html TYPE string READ-ONLY.
|
||||
DATA mv_indent TYPE i READ-ONLY.
|
||||
DATA mv_within_style TYPE i READ-ONLY.
|
||||
|
||||
METHODS add IMPORTING iv_chunk TYPE any.
|
||||
METHODS reset.
|
||||
|
@ -327,18 +328,26 @@ CLASS lcl_html_helper IMPLEMENTATION.
|
|||
CONSTANTS lc_single_tags_re TYPE string " HTML5 singleton tags
|
||||
VALUE '<(area|base|br|col|command|embed|hr|img|input|link|meta|param|source|!)'.
|
||||
|
||||
DATA lv_tags TYPE i.
|
||||
DATA lv_tags_open TYPE i.
|
||||
DATA lv_tags_close TYPE i.
|
||||
DATA lv_tags_single TYPE i.
|
||||
DATA lv_close_offs TYPE i.
|
||||
DATA lv_shift_back TYPE i.
|
||||
DATA lv_tags TYPE i.
|
||||
DATA lv_tags_open TYPE i.
|
||||
DATA lv_tags_close TYPE i.
|
||||
DATA lv_tags_single TYPE i.
|
||||
DATA lv_close_offs TYPE i.
|
||||
DATA lv_shift_back TYPE i.
|
||||
DATA lv_style_tag_open TYPE i.
|
||||
DATA lv_style_tag_close TYPE i.
|
||||
DATA lv_curly TYPE i.
|
||||
|
||||
FIND FIRST OCCURRENCE OF '</' IN iv_str MATCH OFFSET lv_close_offs.
|
||||
IF sy-subrc = 0 AND lv_close_offs = 0 AND mv_indent > 0. " Found close tag @beginning
|
||||
lv_shift_back = 1.
|
||||
ENDIF.
|
||||
|
||||
FIND FIRST OCCURRENCE OF '}' IN iv_str MATCH OFFSET lv_close_offs. " Find close } @beginning
|
||||
IF mv_within_style > 0 AND sy-subrc = 0 AND lv_close_offs = 0 AND mv_indent > 0.
|
||||
lv_shift_back = 1.
|
||||
ENDIF.
|
||||
|
||||
mv_html = mv_html
|
||||
&& repeat( val = ` ` occ = ( mv_indent - lv_shift_back ) * c_indent_size )
|
||||
&& iv_str
|
||||
|
@ -350,6 +359,17 @@ CLASS lcl_html_helper IMPLEMENTATION.
|
|||
|
||||
lv_tags_open = lv_tags - lv_tags_close - lv_tags_single.
|
||||
|
||||
FIND ALL OCCURRENCES OF '<style' IN iv_str MATCH COUNT lv_style_tag_open IGNORING CASE.
|
||||
FIND ALL OCCURRENCES OF '</style>' IN iv_str MATCH COUNT lv_style_tag_close IGNORING CASE.
|
||||
mv_within_style = mv_within_style + lv_style_tag_open - lv_style_tag_close.
|
||||
|
||||
IF mv_within_style > 0.
|
||||
FIND ALL OCCURRENCES OF '{' IN iv_str MATCH COUNT lv_curly.
|
||||
lv_tags_open = lv_tags_open + lv_curly.
|
||||
FIND ALL OCCURRENCES OF '}' IN iv_str MATCH COUNT lv_curly.
|
||||
lv_tags_close = lv_tags_close + lv_curly.
|
||||
ENDIF.
|
||||
|
||||
" More-less logic chosen due to possible double tags in a line '<a><b>'
|
||||
IF lv_tags_open > lv_tags_close.
|
||||
mv_indent = mv_indent + 1.
|
||||
|
|
|
@ -80,14 +80,14 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
|||
|
||||
ro_html->add( '<td class="repo_name">' ).
|
||||
ro_html->add( |<img src="{ lv_icon }">| ).
|
||||
ro_html->add( |<span>{ io_repo->get_name( ) }</span>| ).
|
||||
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 iv_show_package = abap_true.
|
||||
ro_html->add( '<img src="img/pkg">' ).
|
||||
ro_html->add( |<span>{ io_repo->get_package( ) }</span>| ).
|
||||
ENDIF.
|
||||
|
||||
IF io_repo->is_offline( ) = abap_false.
|
||||
lo_repo_online ?= io_repo.
|
||||
|
@ -99,8 +99,11 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
|||
ro_html->add( |<span>{ iv_branch }</span>| ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ro_html->add( '<img src="img/link">' ).
|
||||
ro_html->add( |<input type="text" value="{ lo_repo_online->get_url( ) }" readonly>| ).
|
||||
ENDIF.
|
||||
|
||||
IF iv_show_package = abap_true.
|
||||
ro_html->add( '<img src="img/pkg">' ).
|
||||
ro_html->add( |<span>{ io_repo->get_package( ) }</span>| ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '</td>' ).
|
||||
|
@ -324,11 +327,16 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
|||
_add ' background-color: #f2f2f2;'.
|
||||
_add ' padding: 0.5em 1em 0.5em 1em;'.
|
||||
_add '}'.
|
||||
_add '.repo_name span {'.
|
||||
_add '.repo_name span.name {'.
|
||||
_add ' font-weight: bold;'.
|
||||
_add ' color: #333;'.
|
||||
_add ' font-size: 14pt;'.
|
||||
_add '}'.
|
||||
_add '.repo_name span.url {'.
|
||||
_add ' color: #ccc;'.
|
||||
_add ' font-size: 12pt;'.
|
||||
_add ' margin-left: 0.5em;'.
|
||||
_add '}'.
|
||||
_add '.repo_name img {'.
|
||||
_add ' vertical-align: baseline;'.
|
||||
_add ' margin: 0 5px 0 5px;'.
|
||||
|
@ -341,15 +349,6 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
|||
_add ' margin-left: 0.2em;'.
|
||||
_add ' margin-right: 0.5em;'.
|
||||
_add '}'.
|
||||
_add '.repo_attr input {'.
|
||||
_add ' color: grey;'. " Input wants it personaly
|
||||
_add ' font-size: 12pt;'. " Input wants it personaly
|
||||
_add ' margin-left: 0.5em;'.
|
||||
_add ' margin-right: 0.5em;'.
|
||||
_add ' background-color: transparent;'.
|
||||
_add ' border-style: none;'.
|
||||
_add ' text-overflow: ellipsis;'.
|
||||
_add '}'.
|
||||
|
||||
" Other and outdated (?) styles
|
||||
_add '/* MISC AND REFACTOR */'.
|
||||
|
|
|
@ -1166,7 +1166,8 @@ CLASS ltcl_html_helper DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT
|
|||
indent1 FOR TESTING RAISING lcx_exception,
|
||||
indent2 FOR TESTING RAISING lcx_exception,
|
||||
indent3 FOR TESTING RAISING lcx_exception,
|
||||
indent4 FOR TESTING RAISING lcx_exception.
|
||||
indent4 FOR TESTING RAISING lcx_exception,
|
||||
style1 FOR TESTING RAISING lcx_exception.
|
||||
|
||||
METHODS:
|
||||
setup,
|
||||
|
@ -1239,6 +1240,26 @@ CLASS ltcl_html_helper IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD style1.
|
||||
|
||||
mo_html->add( '<style type="text/css">' ).
|
||||
mo_html->add( '.class1 { color: red }' ).
|
||||
mo_html->add( '.class2 {' ).
|
||||
mo_html->add( 'color: red' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = last_line( ) exp = ' color: red' ).
|
||||
|
||||
mo_html->add( '}' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = last_line( ) exp = ' }' ).
|
||||
|
||||
mo_html->add( '</style>' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals( act = last_line( ) exp = '</style>' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
|
Loading…
Reference in New Issue
Block a user