From 8f634e4096da87e7852b89d9dbf9ac88387dfed6 Mon Sep 17 00:00:00 2001 From: sbcgua Date: Fri, 23 Sep 2016 22:12:36 +0300 Subject: [PATCH] stage_page.js + debug info page #353 --- src/zabapgit_definitions.prog.abap | 1 + src/zabapgit_gui_pages.prog.abap | 3 +- src/zabapgit_gui_router.prog.abap | 3 +- src/zabapgit_html.prog.abap | 32 ++- src/zabapgit_page.prog.abap | 40 +++- src/zabapgit_page_debug.prog.abap | 80 +++++++ src/zabapgit_page_debug.prog.xml | 48 ++++ src/zabapgit_page_main.prog.abap | 7 +- src/zabapgit_page_stage.prog.abap | 353 +++++++++++++++++------------ src/zabapgit_stage.prog.abap | 7 + src/zabapgit_util.prog.abap | 26 +++ 11 files changed, 445 insertions(+), 155 deletions(-) create mode 100644 src/zabapgit_page_debug.prog.abap create mode 100644 src/zabapgit_page_debug.prog.xml diff --git a/src/zabapgit_definitions.prog.abap b/src/zabapgit_definitions.prog.abap index 48ae7ad22..9fae1fcc8 100644 --- a/src/zabapgit_definitions.prog.abap +++ b/src/zabapgit_definitions.prog.abap @@ -178,5 +178,6 @@ CONSTANTS: BEGIN OF gc_action, go_commit TYPE string VALUE 'go_commit', go_branch_overview TYPE string VALUE 'go_branch_overview', go_playground TYPE string VALUE 'go_playground', + go_debuginfo TYPE string VALUE 'go_debuginfo', jump TYPE string VALUE 'jump', END OF gc_action. \ No newline at end of file diff --git a/src/zabapgit_gui_pages.prog.abap b/src/zabapgit_gui_pages.prog.abap index 10e9fcacb..ba388c6ae 100644 --- a/src/zabapgit_gui_pages.prog.abap +++ b/src/zabapgit_gui_pages.prog.abap @@ -14,4 +14,5 @@ INCLUDE zabapgit_page_db. INCLUDE zabapgit_page_diff. INCLUDE zabapgit_page_explore. INCLUDE zabapgit_page_main. -INCLUDE zabapgit_page_stage. \ No newline at end of file +INCLUDE zabapgit_page_stage. +INCLUDE zabapgit_page_debug. \ No newline at end of file diff --git a/src/zabapgit_gui_router.prog.abap b/src/zabapgit_gui_router.prog.abap index e94fe1bb6..f44a41cba 100644 --- a/src/zabapgit_gui_router.prog.abap +++ b/src/zabapgit_gui_router.prog.abap @@ -76,7 +76,8 @@ CLASS lcl_gui_router IMPLEMENTATION. WHEN gc_action-go_main " Go Main page OR gc_action-go_explore " Go Explore page OR gc_action-go_db " Go DB util page - OR gc_action-go_background_run. " Go background run page + OR gc_action-go_background_run " Go background run page + OR gc_action-go_debuginfo. " Go debug info page ei_page = get_page_by_name( iv_action ). ev_state = gc_event_state-new_page. WHEN gc_action-go_background. " Go Background page diff --git a/src/zabapgit_html.prog.abap b/src/zabapgit_html.prog.abap index c7fd74289..b64acb9c3 100644 --- a/src/zabapgit_html.prog.abap +++ b/src/zabapgit_html.prog.abap @@ -16,6 +16,7 @@ CLASS lcl_html_helper DEFINITION FINAL. DATA mv_html TYPE string READ-ONLY. DATA mv_indent TYPE i READ-ONLY. DATA mv_within_style TYPE i READ-ONLY. + DATA mv_within_js TYPE i READ-ONLY. METHODS add IMPORTING iv_chunk TYPE any. METHODS reset. @@ -24,7 +25,9 @@ CLASS lcl_html_helper DEFINITION FINAL. iv_act TYPE string iv_opt TYPE clike OPTIONAL iv_typ TYPE char1 DEFAULT gc_action_type-sapevent - iv_class TYPE string OPTIONAL. + iv_class TYPE string OPTIONAL + iv_id TYPE string OPTIONAL + iv_style TYPE string OPTIONAL. PRIVATE SECTION. METHODS _add_str IMPORTING iv_str TYPE csequence. @@ -79,6 +82,8 @@ CLASS lcl_html_helper IMPLEMENTATION. DATA lv_shift_back TYPE i. DATA lv_style_tag_open TYPE i. DATA lv_style_tag_close TYPE i. + DATA lv_js_tag_open TYPE i. + DATA lv_js_tag_close TYPE i. DATA lv_curly TYPE i. FIND FIRST OCCURRENCE OF ' 0 AND sy-subrc = 0 AND lv_close_offs = 0 AND mv_indent > 0. + IF ( mv_within_style > 0 OR mv_within_js > 0 ) + AND sy-subrc = 0 AND lv_close_offs = 0 AND mv_indent > 0. lv_shift_back = 1. ENDIF. @@ -102,11 +108,15 @@ 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_js_tag_close IGNORING CASE. + mv_within_js = mv_within_js + lv_js_tag_open - lv_js_tag_close. + + IF mv_within_style > 0 OR mv_within_js > 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. @@ -137,7 +147,9 @@ CLASS lcl_html_helper IMPLEMENTATION. METHOD add_anchor. DATA: lv_class TYPE string, - lv_href TYPE string. + lv_href TYPE string, + lv_id TYPE string, + lv_style TYPE string. lv_class = iv_class. @@ -166,7 +178,15 @@ CLASS lcl_html_helper IMPLEMENTATION. ENDCASE. ENDIF. - _add_str( |{ iv_txt }| ). + IF iv_id IS NOT INITIAL. + lv_id = | id="{ iv_id }"|. + ENDIF. + + IF iv_style IS NOT INITIAL. + lv_style = | style="{ iv_style }"|. + ENDIF. + + _add_str( |{ iv_txt }| ). ENDMETHOD. "add_action diff --git a/src/zabapgit_page.prog.abap b/src/zabapgit_page.prog.abap index 3df229647..b694933b0 100644 --- a/src/zabapgit_page.prog.abap +++ b/src/zabapgit_page.prog.abap @@ -206,10 +206,41 @@ CLASS lcl_gui_page_super IMPLEMENTATION. ro_html->add( '' ). "#EC NOTEXT ro_html->add( '' ). "#EC NOTEXT + " Common JS routines + _add ''. "#EC NOTEXT + IF io_include_script IS BOUND. ro_html->add( '