Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | CLASS zcl_abapgit_html_viewer_web DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES zif_abapgit_html_viewer. METHODS constructor IMPORTING ii_request TYPE REF TO zif_abapgit_web_request ii_response TYPE REF TO zif_abapgit_web_response. PROTECTED SECTION. PRIVATE SECTION. DATA mv_html TYPE string. DATA mv_css TYPE string. DATA mi_request TYPE REF TO zif_abapgit_web_request. DATA mi_response TYPE REF TO zif_abapgit_web_response. ENDCLASS. CLASS zcl_abapgit_html_viewer_web IMPLEMENTATION. METHOD constructor. mi_request = ii_request. mi_response = ii_response. ENDMETHOD. METHOD zif_abapgit_html_viewer~back. RETURN. ENDMETHOD. METHOD zif_abapgit_html_viewer~close_document. RETURN. ENDMETHOD. METHOD zif_abapgit_html_viewer~free. RETURN. ENDMETHOD. METHOD zif_abapgit_html_viewer~set_focus. RETURN. ENDMETHOD. METHOD zif_abapgit_html_viewer~get_url. RETURN. ENDMETHOD. METHOD zif_abapgit_html_viewer~load_data. IF iv_url = 'css/bundle.css'. CONCATENATE LINES OF ct_data_table INTO mv_css IN CHARACTER MODE RESPECTING BLANKS. ELSEIF iv_url = ''. CONCATENATE LINES OF ct_data_table INTO mv_html IN CHARACTER MODE RESPECTING BLANKS. ENDIF. ENDMETHOD. METHOD zif_abapgit_html_viewer~set_registered_events. RETURN. ENDMETHOD. METHOD zif_abapgit_html_viewer~set_visiblity. RETURN. ENDMETHOD. METHOD zif_abapgit_html_viewer~show_url. DATA lv_path TYPE string. DATA lv_js TYPE string. lv_path = cl_http_utility=>unescape_url( mi_request->get_header_field( '~path' ) ). lv_js = |<script> \n| && |function registerLinks() \{ \n| && | const links = document.getElementsByTagName("a");\n| && | for (let i = 0; i < links.length; i++) \{ \n| && | if (links[i].href.startsWith("sapevent:")) \{ \n| && | links[i].href = "./" + links[i].href; \n| && | \} \n| && | \} \n| && |\} \n| && |registerLinks(); \n| && | \n| && |function registerForms() \{ \n| && | const forms = document.getElementsByTagName("form"); \n| && | for (let i = 0; i < forms.length; i++) \{ \n| && | forms[i].action = "./" + forms[i].action; \n| && | \} \n| && | const inputs = document.getElementsByTagName("input"); \n| && | for (let i = 0; i < inputs.length; i++) \{ \n| && | if (inputs[i].type === "submit" \n| && | && inputs[i].formAction.startsWith("sapevent:")) \{ \n| && | inputs[i].formAction = "./" + inputs[i].formAction; \n| && | \} \n| && | \} \n| && |\} \n| && |registerForms(); \n| && |</script></body>\n|. IF lv_path = '/sap/zabapgit/css/bundle.css'. mi_response->set_content_type( 'text/css' ). mi_response->set_cdata( mv_css ). ELSEIF lv_path = '/sap/zabapgit/' OR lv_path CP |/sap/zabapgit/sapevent:+*|. REPLACE FIRST OCCURRENCE OF |</body>| IN mv_html WITH lv_js. mi_response->set_content_type( 'text/html' ). mi_response->set_cdata( mv_html ). ELSE. mi_response->set_content_type( 'text/html' ). mi_response->set_cdata( |show_url, unknown path { lv_path }| ). ENDIF. ENDMETHOD. ENDCLASS. |