mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 20:32:26 +08:00
Merge pull request #560 from christian1020-94/issue537
Added max lines shown in config (#537)
This commit is contained in:
commit
65dddbdc43
|
@ -30,6 +30,8 @@ CLASS lcl_gui_page_settings DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
|||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS render_form_end
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS render_max_lines
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
METHODS build_settings
|
||||
IMPORTING
|
||||
it_post_fields TYPE tihttpnvp.
|
||||
|
@ -63,6 +65,8 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
|
|||
ro_html->add( render_proxy( ) ).
|
||||
ro_html->add( |<hr>| ).
|
||||
ro_html->add( render_development_internals( ) ).
|
||||
ro_html->add( |<hr>| ).
|
||||
ro_html->add( render_max_lines( ) ).
|
||||
ro_html->add( render_form_end( ) ).
|
||||
|
||||
ENDMETHOD. "render_content
|
||||
|
@ -110,7 +114,8 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
|
|||
|
||||
METHOD build_settings.
|
||||
|
||||
DATA ls_post_field TYPE ihttpnvp.
|
||||
DATA: ls_post_field TYPE ihttpnvp,
|
||||
lv_max_lines_as_integer TYPE i.
|
||||
|
||||
CREATE OBJECT mo_settings.
|
||||
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'proxy_url'.
|
||||
|
@ -132,6 +137,14 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
|
|||
mo_settings->set_run_critical_tests( abap_false ).
|
||||
ENDIF.
|
||||
|
||||
READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'max_lines'.
|
||||
IF sy-subrc = 0.
|
||||
lv_max_lines_as_integer = ls_post_field-value.
|
||||
mo_settings->set_max_lines( lv_max_lines_as_integer ).
|
||||
ELSE.
|
||||
mo_settings->set_max_lines( 0 ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -209,4 +222,15 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD render_max_lines.
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( |<h2>List size</h2>| ).
|
||||
ro_html->add( |<label for="max_lines">Max. # of objects listed (0 = all)</label>| ).
|
||||
ro_html->add( |<br>| ).
|
||||
ro_html->add( `<input name="max_lines" type="text" size="5" value="` && mo_settings->get_max_lines( ) && `">` ).
|
||||
ro_html->add( |<br>| ).
|
||||
ro_html->add( |<br>| ).
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1459,11 +1459,17 @@ CLASS lcl_settings DEFINITION FINAL.
|
|||
METHODS
|
||||
get_run_critical_tests
|
||||
RETURNING VALUE(rv_run) TYPE abap_bool.
|
||||
METHODS set_max_lines
|
||||
IMPORTING iv_lines TYPE i.
|
||||
METHODS get_max_lines
|
||||
RETURNING
|
||||
VALUE(rv_lines) TYPE i.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA mv_proxy_url TYPE string.
|
||||
DATA mv_proxy_port TYPE string.
|
||||
DATA mv_run_critical_tests TYPE abap_bool.
|
||||
DATA mv_lines TYPE i.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
@ -1494,6 +1500,14 @@ CLASS lcl_settings IMPLEMENTATION.
|
|||
rv_run = mv_run_critical_tests.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_max_lines.
|
||||
rv_lines = mv_lines.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD set_max_lines.
|
||||
mv_lines = iv_lines.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -1529,12 +1543,20 @@ CLASS lcl_persistence_settings IMPLEMENTATION.
|
|||
iv_type = 'SETTINGS'
|
||||
iv_value = 'CRIT_TESTS'
|
||||
iv_data = io_settings->get_run_critical_tests( ) ).
|
||||
|
||||
lcl_app=>db( )->modify(
|
||||
iv_type = 'SETTINGS'
|
||||
iv_value = 'MAX_LINES'
|
||||
iv_data = |{ io_settings->get_max_lines( ) }| ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD read.
|
||||
DATA: lv_critical_tests_as_string TYPE string,
|
||||
lv_critical_tests_as_boolean TYPE abap_bool.
|
||||
lv_critical_tests_as_boolean TYPE abap_bool,
|
||||
lv_max_lines_as_string TYPE string,
|
||||
lv_max_lines_as_integer TYPE i.
|
||||
|
||||
CREATE OBJECT ro_settings.
|
||||
TRY.
|
||||
|
@ -1562,6 +1584,15 @@ CLASS lcl_persistence_settings IMPLEMENTATION.
|
|||
CATCH lcx_not_found.
|
||||
ro_settings->set_run_critical_tests( abap_false ).
|
||||
ENDTRY.
|
||||
TRY.
|
||||
lv_max_lines_as_string = lcl_app=>db( )->read(
|
||||
iv_type = 'SETTINGS'
|
||||
iv_value = 'MAX_LINES' ).
|
||||
lv_max_lines_as_integer = lv_max_lines_as_string.
|
||||
ro_settings->set_max_lines( lv_max_lines_as_integer ).
|
||||
CATCH lcx_not_found.
|
||||
ro_settings->set_max_lines( 500 ). " default
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -111,10 +111,15 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
lv_lstate TYPE char1,
|
||||
lv_rstate TYPE char1,
|
||||
lv_max TYPE abap_bool,
|
||||
lo_log TYPE REF TO lcl_log.
|
||||
lo_log TYPE REF TO lcl_log,
|
||||
lo_settings TYPE REF TO lcl_settings,
|
||||
lv_max_lines TYPE i.
|
||||
|
||||
FIELD-SYMBOLS <ls_item> LIKE LINE OF lt_repo_items.
|
||||
|
||||
" Read global settings to get max # of objects to be listed
|
||||
lo_settings = lcl_app=>settings( )->read( ).
|
||||
lv_max_lines = lo_settings->get_max_lines( ).
|
||||
|
||||
" Reinit, for the case of type change
|
||||
mo_repo = lcl_app=>repo_srv( )->get( mo_repo->get_key( ) ).
|
||||
|
@ -160,7 +165,7 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
ro_html->add( render_empty_package( ) ).
|
||||
ELSE.
|
||||
LOOP AT lt_repo_items ASSIGNING <ls_item>.
|
||||
IF sy-tabix > 500.
|
||||
IF lv_max_lines > 0 AND sy-tabix > lv_max_lines.
|
||||
lv_max = abap_true.
|
||||
EXIT. " current loop
|
||||
ENDIF.
|
||||
|
@ -171,7 +176,11 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
ro_html->add( '</table>' ).
|
||||
|
||||
IF lv_max = abap_true.
|
||||
ro_html->add( 'Only first 500 objects shown in list' ).
|
||||
IF lv_max_lines = 1.
|
||||
ro_html->add( |Only 1 object shown in list (Set in Advanced > Settings )| ).
|
||||
ELSE.
|
||||
ro_html->add( |Only first { lv_max_lines } objects shown in list (Set in Advanced > Settings )| ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '</div>' ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user