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.
|
PUBLIC SECTION.
|
||||||
CONSTANTS: c_indent_size TYPE i VALUE 2.
|
CONSTANTS: c_indent_size TYPE i VALUE 2.
|
||||||
|
|
||||||
DATA mv_html TYPE string READ-ONLY.
|
DATA mv_html TYPE string READ-ONLY.
|
||||||
DATA mv_indent TYPE i 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 add IMPORTING iv_chunk TYPE any.
|
||||||
METHODS reset.
|
METHODS reset.
|
||||||
|
@ -327,18 +328,26 @@ CLASS lcl_html_helper IMPLEMENTATION.
|
||||||
CONSTANTS lc_single_tags_re TYPE string " HTML5 singleton tags
|
CONSTANTS lc_single_tags_re TYPE string " HTML5 singleton tags
|
||||||
VALUE '<(area|base|br|col|command|embed|hr|img|input|link|meta|param|source|!)'.
|
VALUE '<(area|base|br|col|command|embed|hr|img|input|link|meta|param|source|!)'.
|
||||||
|
|
||||||
DATA lv_tags TYPE i.
|
DATA lv_tags TYPE i.
|
||||||
DATA lv_tags_open TYPE i.
|
DATA lv_tags_open TYPE i.
|
||||||
DATA lv_tags_close TYPE i.
|
DATA lv_tags_close TYPE i.
|
||||||
DATA lv_tags_single TYPE i.
|
DATA lv_tags_single TYPE i.
|
||||||
DATA lv_close_offs TYPE i.
|
DATA lv_close_offs TYPE i.
|
||||||
DATA lv_shift_back 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.
|
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
|
IF sy-subrc = 0 AND lv_close_offs = 0 AND mv_indent > 0. " Found close tag @beginning
|
||||||
lv_shift_back = 1.
|
lv_shift_back = 1.
|
||||||
ENDIF.
|
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
|
mv_html = mv_html
|
||||||
&& repeat( val = ` ` occ = ( mv_indent - lv_shift_back ) * c_indent_size )
|
&& repeat( val = ` ` occ = ( mv_indent - lv_shift_back ) * c_indent_size )
|
||||||
&& iv_str
|
&& iv_str
|
||||||
|
@ -350,6 +359,17 @@ CLASS lcl_html_helper IMPLEMENTATION.
|
||||||
|
|
||||||
lv_tags_open = lv_tags - lv_tags_close - lv_tags_single.
|
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>'
|
" More-less logic chosen due to possible double tags in a line '<a><b>'
|
||||||
IF lv_tags_open > lv_tags_close.
|
IF lv_tags_open > lv_tags_close.
|
||||||
mv_indent = mv_indent + 1.
|
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( '<td class="repo_name">' ).
|
||||||
ro_html->add( |<img src="{ lv_icon }">| ).
|
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>' ).
|
||||||
|
|
||||||
ro_html->add( '<td class="repo_attr right">' ).
|
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.
|
IF io_repo->is_offline( ) = abap_false.
|
||||||
lo_repo_online ?= io_repo.
|
lo_repo_online ?= io_repo.
|
||||||
|
@ -99,8 +99,11 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
||||||
ro_html->add( |<span>{ iv_branch }</span>| ).
|
ro_html->add( |<span>{ iv_branch }</span>| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ro_html->add( '<img src="img/link">' ).
|
ENDIF.
|
||||||
ro_html->add( |<input type="text" value="{ lo_repo_online->get_url( ) }" readonly>| ).
|
|
||||||
|
IF iv_show_package = abap_true.
|
||||||
|
ro_html->add( '<img src="img/pkg">' ).
|
||||||
|
ro_html->add( |<span>{ io_repo->get_package( ) }</span>| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ro_html->add( '</td>' ).
|
ro_html->add( '</td>' ).
|
||||||
|
@ -324,11 +327,16 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
||||||
_add ' background-color: #f2f2f2;'.
|
_add ' background-color: #f2f2f2;'.
|
||||||
_add ' padding: 0.5em 1em 0.5em 1em;'.
|
_add ' padding: 0.5em 1em 0.5em 1em;'.
|
||||||
_add '}'.
|
_add '}'.
|
||||||
_add '.repo_name span {'.
|
_add '.repo_name span.name {'.
|
||||||
_add ' font-weight: bold;'.
|
_add ' font-weight: bold;'.
|
||||||
_add ' color: #333;'.
|
_add ' color: #333;'.
|
||||||
_add ' font-size: 14pt;'.
|
_add ' font-size: 14pt;'.
|
||||||
_add '}'.
|
_add '}'.
|
||||||
|
_add '.repo_name span.url {'.
|
||||||
|
_add ' color: #ccc;'.
|
||||||
|
_add ' font-size: 12pt;'.
|
||||||
|
_add ' margin-left: 0.5em;'.
|
||||||
|
_add '}'.
|
||||||
_add '.repo_name img {'.
|
_add '.repo_name img {'.
|
||||||
_add ' vertical-align: baseline;'.
|
_add ' vertical-align: baseline;'.
|
||||||
_add ' margin: 0 5px 0 5px;'.
|
_add ' margin: 0 5px 0 5px;'.
|
||||||
|
@ -341,15 +349,6 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
||||||
_add ' margin-left: 0.2em;'.
|
_add ' margin-left: 0.2em;'.
|
||||||
_add ' margin-right: 0.5em;'.
|
_add ' margin-right: 0.5em;'.
|
||||||
_add '}'.
|
_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
|
" Other and outdated (?) styles
|
||||||
_add '/* MISC AND REFACTOR */'.
|
_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,
|
indent1 FOR TESTING RAISING lcx_exception,
|
||||||
indent2 FOR TESTING RAISING lcx_exception,
|
indent2 FOR TESTING RAISING lcx_exception,
|
||||||
indent3 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:
|
METHODS:
|
||||||
setup,
|
setup,
|
||||||
|
@ -1239,6 +1240,26 @@ CLASS ltcl_html_helper IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
ENDCLASS.
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user