UI: Change repo urls to hyperlinks

This commit changes the repo urls on the main and overview
pages to hyperlinks.
This commit is contained in:
Christian Guenter 2018-08-28 11:44:14 +00:00 committed by Lars Hvam
parent dfb63d16c2
commit 2fa5ba0dcf
6 changed files with 90 additions and 5 deletions

View File

@ -305,7 +305,12 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
ro_html->add( |<span class="name">{ io_repo->get_name( ) }</span>| ). ro_html->add( |<span class="name">{ io_repo->get_name( ) }</span>| ).
IF io_repo->is_offline( ) = abap_false. IF io_repo->is_offline( ) = abap_false.
lo_repo_online ?= io_repo. lo_repo_online ?= io_repo.
ro_html->add( |<span class="url">{ lo_repo_online->get_url( ) }</span>| ).
ro_html->add_a( iv_txt = lo_repo_online->get_url( )
iv_act = |{ zif_abapgit_definitions=>c_action-url }?|
&& |{ lo_repo_online->get_url( ) }|
iv_class = |url| ).
ENDIF. ENDIF.
" News " News
@ -319,7 +324,7 @@ CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION.
iv_typ = zif_abapgit_definitions=>c_action_type-onclick iv_typ = zif_abapgit_definitions=>c_action_type-onclick
iv_txt = zcl_abapgit_html=>icon( iv_name = lv_icon iv_txt = zcl_abapgit_html=>icon( iv_name = lv_icon
iv_class = 'pad-sides' iv_class = 'pad-sides'
iv_hint = 'Display changelog' ) ). iv_hint = 'Display changelog' ) ).
ENDIF. ENDIF.
ro_html->add( '</td>' ). ro_html->add( '</td>' ).

View File

@ -63,6 +63,12 @@ CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT CREATE PUBLIC.
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
METHODS call_browser
IMPORTING
iv_url TYPE csequence
RAISING
zcx_abapgit_exception.
ENDCLASS. ENDCLASS.
@ -237,7 +243,19 @@ CLASS zcl_abapgit_gui_page IMPLEMENTATION.
METHOD zif_abapgit_gui_page~on_event. METHOD zif_abapgit_gui_page~on_event.
ev_state = zif_abapgit_definitions=>c_event_state-not_handled.
CASE iv_action.
WHEN zif_abapgit_definitions=>c_action-url.
call_browser( iv_getdata ).
ev_state = zif_abapgit_definitions=>c_event_state-no_more_act.
WHEN OTHERS.
ev_state = zif_abapgit_definitions=>c_event_state-not_handled.
ENDCASE.
ENDMETHOD. "lif_gui_page~on_event ENDMETHOD. "lif_gui_page~on_event
@ -276,4 +294,28 @@ CLASS zcl_abapgit_gui_page IMPLEMENTATION.
ro_html->add( '</html>' ). "#EC NOTEXT ro_html->add( '</html>' ). "#EC NOTEXT
ENDMETHOD. " lif_gui_page~render. ENDMETHOD. " lif_gui_page~render.
METHOD call_browser.
cl_gui_frontend_services=>execute(
EXPORTING
document = |{ iv_url }|
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
bad_parameter = 3
file_not_found = 4
path_not_found = 5
file_extension_unknown = 6
error_execute_failed = 7
synchronous_failed = 8
not_supported_by_gui = 9
OTHERS = 10 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -349,6 +349,16 @@ CLASS zcl_abapgit_gui_page_main IMPLEMENTATION.
CREATE OBJECT li_repo_overview TYPE zcl_abapgit_gui_page_repo_over. CREATE OBJECT li_repo_overview TYPE zcl_abapgit_gui_page_repo_over.
ei_page = li_repo_overview. ei_page = li_repo_overview.
ev_state = zif_abapgit_definitions=>c_event_state-new_page. ev_state = zif_abapgit_definitions=>c_event_state-new_page.
WHEN OTHERS.
super->zif_abapgit_gui_page~on_event(
EXPORTING
iv_action = iv_action
iv_prev_page = iv_prev_page
iv_getdata = iv_getdata
it_postdata = it_postdata
IMPORTING
ei_page = ei_page
ev_state = ev_state ).
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.

View File

@ -126,7 +126,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_OVER IMPLEMENTATION. CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION.
METHOD add_direction_option. METHOD add_direction_option.
@ -481,7 +481,15 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_OVER IMPLEMENTATION.
io_html->add( |<td>{ <ls_overview>-key }</td>| ). io_html->add( |<td>{ <ls_overview>-key }</td>| ).
io_html->add( |<td>{ zcl_abapgit_html=>a( iv_txt = <ls_overview>-name io_html->add( |<td>{ zcl_abapgit_html=>a( iv_txt = <ls_overview>-name
iv_act = |{ c_action-select }?{ <ls_overview>-key }| ) }</td>| ). iv_act = |{ c_action-select }?{ <ls_overview>-key }| ) }</td>| ).
io_html->add( |<td>{ <ls_overview>-url }</td>| ).
IF <ls_overview>-type = abap_false.
io_html->add( |<td>{ io_html->a( iv_txt = <ls_overview>-url
iv_act = |{ zif_abapgit_definitions=>c_action-url }?|
&& |{ <ls_overview>-url }| ) }</td>| ).
ELSE.
io_html->add( |<td> </td>| ).
ENDIF.
io_html->add( |<td>{ <ls_overview>-package }</td>| ). io_html->add( |<td>{ <ls_overview>-package }</td>| ).
io_html->add( |<td>{ <ls_overview>-branch }</td>| ). io_html->add( |<td>{ <ls_overview>-branch }</td>| ).
io_html->add( |<td>{ <ls_overview>-created_by }</td>| ). io_html->add( |<td>{ <ls_overview>-created_by }</td>| ).
@ -582,6 +590,18 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_REPO_OVER IMPLEMENTATION.
parse_filter( it_postdata ). parse_filter( it_postdata ).
ev_state = zif_abapgit_definitions=>c_event_state-re_render. ev_state = zif_abapgit_definitions=>c_event_state-re_render.
WHEN OTHERS.
super->zif_abapgit_gui_page~on_event(
EXPORTING
iv_action = iv_action
iv_prev_page = iv_prev_page
iv_getdata = iv_getdata
it_postdata = it_postdata
IMPORTING
ei_page = ei_page
ev_state = ev_state ).
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.

View File

@ -143,6 +143,11 @@ div.repo {
color: #333; color: #333;
font-size: 14pt; font-size: 14pt;
} }
.repo_name a.url {
color: #ccc;
font-size: 12pt;
margin-left: 0.5em;
}
.repo_name span.url { .repo_name span.url {
color: #ccc; color: #ccc;
font-size: 12pt; font-size: 12pt;
@ -538,6 +543,7 @@ div.debug_container p {
div.db_list { div.db_list {
background-color: #fff; background-color: #fff;
padding: 0.5em; padding: 0.5em;
overflow-x: auto;
} }
table.db_tab pre { table.db_tab pre {

View File

@ -459,6 +459,8 @@ INTERFACE zif_abapgit_definitions PUBLIC.
jump TYPE string VALUE 'jump', jump TYPE string VALUE 'jump',
jump_pkg TYPE string VALUE 'jump_pkg', jump_pkg TYPE string VALUE 'jump_pkg',
url TYPE string VALUE 'url',
END OF c_action . END OF c_action .
CONSTANTS: CONSTANTS:
BEGIN OF c_version, BEGIN OF c_version,