bacground icon and toc marker #388

This commit is contained in:
sbcgua 2016-10-12 15:09:07 +02:00
parent 6986bc18a1
commit 8ffd371869
3 changed files with 52 additions and 21 deletions

View File

@ -73,10 +73,12 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
METHOD render_repo_top.
DATA: lo_repo_online TYPE REF TO lcl_repo_online,
lo_pback TYPE REF TO lcl_persistence_background,
lv_icon TYPE string.
CREATE OBJECT ro_html.
CREATE OBJECT lo_pback.
IF io_repo->is_offline( ) = abap_true.
lv_icon = 'img/repo_offline' ##NO_TEXT.
@ -98,6 +100,10 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
ro_html->add( '<td class="repo_attr right">' ).
IF lo_pback->exists( io_repo->get_key( ) ) = abap_true.
ro_html->add( '<span class="bg_marker">BG</span>' ).
ENDIF.
IF io_repo->is_write_protected( ) = abap_true.
ro_html->add( '<img src="img/lock">' ).
ENDIF.
@ -438,6 +444,14 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
_add ' margin-left: 0.2em;'.
_add ' margin-right: 0.5em;'.
_add '}'.
_add '.repo_attr span.bg_marker {'.
_add ' border: 1px solid #d2d2d2;'.
_add ' border-radius: 3px;'.
_add ' background: #d8d8d8;'.
_add ' color: #fff;'.
_add ' font-size: 8pt;'.
_add ' padding: 4px 2px 3px 2px;'.
_add '}'.
" Branch tag design
_add '.repo_attr span.branch {'.

View File

@ -220,20 +220,17 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
METHOD render_toc.
DATA: lo_pback TYPE REF TO lcl_persistence_background,
lt_repo_bkg TYPE lcl_persistence_background=>tt_background,
lo_repo LIKE LINE OF it_list,
lv_opt TYPE c LENGTH 1,
lo_online TYPE REF TO lcl_html_toolbar,
lo_background TYPE REF TO lcl_html_toolbar,
lo_offline TYPE REF TO lcl_html_toolbar.
lo_offline TYPE REF TO lcl_html_toolbar,
lv_repo_title TYPE string.
CREATE OBJECT ro_html.
CREATE OBJECT lo_online.
CREATE OBJECT lo_offline.
CREATE OBJECT lo_background.
CREATE OBJECT lo_pback.
lt_repo_bkg = lo_pback->list( ).
IF lines( it_list ) = 0.
RETURN.
@ -251,17 +248,16 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
iv_act = |{ c_actions-show }?{ lo_repo->get_key( ) }|
iv_opt = lv_opt ).
ELSE.
READ TABLE lt_repo_bkg WITH KEY key = lo_repo->get_key( )
TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
lo_background->add( iv_txt = lo_repo->get_name( )
iv_act = |{ c_actions-show }?{ lo_repo->get_key( ) }|
iv_opt = lv_opt ).
ELSE.
lo_online->add( iv_txt = lo_repo->get_name( )
iv_act = |{ c_actions-show }?{ lo_repo->get_key( ) }|
iv_opt = lv_opt ).
lv_repo_title = lo_repo->get_name( ).
IF lo_pback->exists( lo_repo->get_key( ) ) = abap_true.
lv_repo_title = lv_repo_title && '<sup>bg</sup>'. " Background marker
ENDIF.
lo_online->add( iv_txt = lv_repo_title
iv_act = |{ c_actions-show }?{ lo_repo->get_key( ) }|
iv_opt = lv_opt ).
ENDIF.
ENDLOOP.
@ -278,11 +274,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
iv_image_url = 'img/repo_offline' ) ).
ENDIF.
IF lo_background->count( ) > 0.
ro_html->add( render_toc_line( io_toolbar = lo_background
iv_image_url = 'img/sync' ) ).
ENDIF.
ro_html->add( '</div></div>' ).
ENDMETHOD. "render_toc

View File

@ -239,10 +239,16 @@ CLASS lcl_persistence_background DEFINITION FINAL.
IMPORTING iv_key TYPE ty_background-key
RAISING lcx_exception.
METHODS exists
IMPORTING iv_key TYPE ty_background-key
RETURNING VALUE(rv_yes) TYPE abap_bool
RAISING lcx_exception.
PRIVATE SECTION.
CONSTANTS c_type TYPE lcl_persistence_db=>ty_type VALUE 'BACKGROUND'.
DATA: mo_db TYPE REF TO lcl_persistence_db.
DATA: mo_db TYPE REF TO lcl_persistence_db,
mt_jobs TYPE tt_background.
METHODS from_xml
IMPORTING iv_string TYPE string
@ -269,6 +275,11 @@ CLASS lcl_persistence_background IMPLEMENTATION.
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list,
<ls_output> LIKE LINE OF rt_list.
IF lines( mt_jobs ) > 0.
rt_list = mt_jobs.
RETURN.
ENDIF.
lt_list = mo_db->list_by_type( c_type ).
@ -280,8 +291,18 @@ CLASS lcl_persistence_background IMPLEMENTATION.
<ls_output>-key = <ls_list>-value.
ENDLOOP.
mt_jobs = rt_list.
ENDMETHOD.
METHOD exists.
list( ). " Ensure mt_jobs is populated
READ TABLE mt_jobs WITH KEY key = iv_key TRANSPORTING NO FIELDS.
rv_yes = boolc( sy-subrc = 0 ).
ENDMETHOD. "exists
METHOD modify.
ASSERT NOT is_data-key IS INITIAL.
@ -291,6 +312,9 @@ CLASS lcl_persistence_background IMPLEMENTATION.
iv_value = is_data-key
iv_data = to_xml( is_data ) ).
DELETE mt_jobs WHERE key = is_data-key.
APPEND is_data TO mt_jobs.
ENDMETHOD.
METHOD delete.
@ -305,6 +329,8 @@ CLASS lcl_persistence_background IMPLEMENTATION.
mo_db->delete( iv_type = c_type
iv_value = iv_key ).
DELETE mt_jobs WHERE key = iv_key.
ENDMETHOD.
METHOD from_xml.