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. METHOD render_repo_top.
DATA: lo_repo_online TYPE REF TO lcl_repo_online, DATA: lo_repo_online TYPE REF TO lcl_repo_online,
lo_pback TYPE REF TO lcl_persistence_background,
lv_icon TYPE string. lv_icon TYPE string.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
CREATE OBJECT lo_pback.
IF io_repo->is_offline( ) = abap_true. IF io_repo->is_offline( ) = abap_true.
lv_icon = 'img/repo_offline' ##NO_TEXT. 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">' ). 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. IF io_repo->is_write_protected( ) = abap_true.
ro_html->add( '<img src="img/lock">' ). ro_html->add( '<img src="img/lock">' ).
ENDIF. ENDIF.
@ -438,6 +444,14 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
_add ' margin-left: 0.2em;'. _add ' margin-left: 0.2em;'.
_add ' margin-right: 0.5em;'. _add ' margin-right: 0.5em;'.
_add '}'. _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 " Branch tag design
_add '.repo_attr span.branch {'. _add '.repo_attr span.branch {'.

View File

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

View File

@ -239,10 +239,16 @@ CLASS lcl_persistence_background DEFINITION FINAL.
IMPORTING iv_key TYPE ty_background-key IMPORTING iv_key TYPE ty_background-key
RAISING lcx_exception. RAISING lcx_exception.
METHODS exists
IMPORTING iv_key TYPE ty_background-key
RETURNING VALUE(rv_yes) TYPE abap_bool
RAISING lcx_exception.
PRIVATE SECTION. PRIVATE SECTION.
CONSTANTS c_type TYPE lcl_persistence_db=>ty_type VALUE 'BACKGROUND'. 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 METHODS from_xml
IMPORTING iv_string TYPE string IMPORTING iv_string TYPE string
@ -269,6 +275,11 @@ CLASS lcl_persistence_background IMPLEMENTATION.
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list, FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list,
<ls_output> LIKE LINE OF rt_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 ). lt_list = mo_db->list_by_type( c_type ).
@ -280,8 +291,18 @@ CLASS lcl_persistence_background IMPLEMENTATION.
<ls_output>-key = <ls_list>-value. <ls_output>-key = <ls_list>-value.
ENDLOOP. ENDLOOP.
mt_jobs = rt_list.
ENDMETHOD. 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. METHOD modify.
ASSERT NOT is_data-key IS INITIAL. ASSERT NOT is_data-key IS INITIAL.
@ -291,6 +312,9 @@ CLASS lcl_persistence_background IMPLEMENTATION.
iv_value = is_data-key iv_value = is_data-key
iv_data = to_xml( is_data ) ). iv_data = to_xml( is_data ) ).
DELETE mt_jobs WHERE key = is_data-key.
APPEND is_data TO mt_jobs.
ENDMETHOD. ENDMETHOD.
METHOD delete. METHOD delete.
@ -305,6 +329,8 @@ CLASS lcl_persistence_background IMPLEMENTATION.
mo_db->delete( iv_type = c_type mo_db->delete( iv_type = c_type
iv_value = iv_key ). iv_value = iv_key ).
DELETE mt_jobs WHERE key = iv_key.
ENDMETHOD. ENDMETHOD.
METHOD from_xml. METHOD from_xml.