From c28e5a9caf3a734457557627eb75a04546a51585 Mon Sep 17 00:00:00 2001 From: atsy Date: Sat, 3 Sep 2016 19:03:15 +0300 Subject: [PATCH 1/2] Finetune repo header - reorder elements --- src/zabapgit_page.prog.abap | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/zabapgit_page.prog.abap b/src/zabapgit_page.prog.abap index a668e1920..ad8d74ee1 100644 --- a/src/zabapgit_page.prog.abap +++ b/src/zabapgit_page.prog.abap @@ -80,14 +80,14 @@ CLASS lcl_gui_page_super IMPLEMENTATION. ro_html->add( '' ). ro_html->add( || ). - ro_html->add( |{ io_repo->get_name( ) }| ). + ro_html->add( |{ io_repo->get_name( ) }| ). + IF io_repo->is_offline( ) = abap_false. + lo_repo_online ?= io_repo. + ro_html->add( |{ lo_repo_online->get_url( ) }| ). + ENDIF. ro_html->add( '' ). ro_html->add( '' ). - IF iv_show_package = abap_true. - ro_html->add( '' ). - ro_html->add( |{ io_repo->get_package( ) }| ). - 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( |{ iv_branch }| ). ENDIF. ENDIF. - ro_html->add( '' ). - ro_html->add( || ). + ENDIF. + + IF iv_show_package = abap_true. + ro_html->add( '' ). + ro_html->add( |{ io_repo->get_package( ) }| ). ENDIF. ro_html->add( '' ). @@ -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 */'. From 94e28625f6c4dc8e112dc1c88f3df3ee1b681157 Mon Sep 17 00:00:00 2001 From: atsy Date: Sat, 3 Sep 2016 19:30:45 +0300 Subject: [PATCH 2/2] Fix html_helper to indent styles in {} --- src/zabapgit_html.prog.abap | 36 +++++++++++++++++++++++++------- src/zabapgit_unit_test.prog.abap | 23 +++++++++++++++++++- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/zabapgit_html.prog.abap b/src/zabapgit_html.prog.abap index 2ec2f442f..31b2bef31 100644 --- a/src/zabapgit_html.prog.abap +++ b/src/zabapgit_html.prog.abap @@ -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 ' 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 '' 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 '' IF lv_tags_open > lv_tags_close. mv_indent = mv_indent + 1. diff --git a/src/zabapgit_unit_test.prog.abap b/src/zabapgit_unit_test.prog.abap index 026673435..f49ad5cc6 100644 --- a/src/zabapgit_unit_test.prog.abap +++ b/src/zabapgit_unit_test.prog.abap @@ -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( '' ). + + cl_abap_unit_assert=>assert_equals( act = last_line( ) exp = '' ). + + ENDMETHOD. + + ENDCLASS. *----------------------------------------------------------------------*