mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
#332 gui/pages prev_page attr, replace action
This commit is contained in:
parent
3bc3763914
commit
0f3372b0bf
|
@ -111,6 +111,7 @@ CONSTANTS: BEGIN OF gc_event_state,
|
||||||
no_more_act VALUE 4,
|
no_more_act VALUE 4,
|
||||||
new_page_w_bookmark VALUE 5,
|
new_page_w_bookmark VALUE 5,
|
||||||
go_back_to_bookmark VALUE 6,
|
go_back_to_bookmark VALUE 6,
|
||||||
|
new_page_replacing VALUE 7,
|
||||||
END OF gc_event_state.
|
END OF gc_event_state.
|
||||||
|
|
||||||
CONSTANTS: BEGIN OF gc_html_opt,
|
CONSTANTS: BEGIN OF gc_html_opt,
|
||||||
|
|
|
@ -14,7 +14,7 @@ CLASS lcl_gui DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
|
|
||||||
METHODS back
|
METHODS back
|
||||||
IMPORTING iv_to_bookmark TYPE abap_bool DEFAULT abap_false
|
IMPORTING iv_to_bookmark TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING VALUE(rv_exit) TYPE xfeld
|
RETURNING value(rv_exit) TYPE xfeld
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
METHODS on_event FOR EVENT sapevent OF cl_gui_html_viewer
|
METHODS on_event FOR EVENT sapevent OF cl_gui_html_viewer
|
||||||
|
@ -45,14 +45,18 @@ CLASS lcl_gui DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
|
|
||||||
METHODS cache_html
|
METHODS cache_html
|
||||||
IMPORTING iv_html TYPE string
|
IMPORTING iv_html TYPE string
|
||||||
RETURNING VALUE(rv_url) TYPE w3url.
|
RETURNING value(rv_url) TYPE w3url.
|
||||||
|
|
||||||
METHODS render
|
METHODS render
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
METHODS get_current_page_name
|
||||||
|
RETURNING value(rv_page_name) TYPE string.
|
||||||
|
|
||||||
METHODS call_page
|
METHODS call_page
|
||||||
IMPORTING ii_page TYPE REF TO lif_gui_page
|
IMPORTING ii_page TYPE REF TO lif_gui_page
|
||||||
iv_with_bookmark TYPE abap_bool DEFAULT abap_false
|
iv_with_bookmark TYPE abap_bool DEFAULT abap_false
|
||||||
|
iv_replacing TYPE abap_bool DEFAULT abap_false
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
ENDCLASS. "lcl_gui DEFINITION
|
ENDCLASS. "lcl_gui DEFINITION
|
||||||
|
@ -79,6 +83,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
mi_cur_page->on_event(
|
mi_cur_page->on_event(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_action = action
|
iv_action = action
|
||||||
|
iv_prev_page = get_current_page_name( )
|
||||||
iv_getdata = getdata
|
iv_getdata = getdata
|
||||||
it_postdata = postdata
|
it_postdata = postdata
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -90,6 +95,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
mo_router->on_event(
|
mo_router->on_event(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_action = action
|
iv_action = action
|
||||||
|
iv_prev_page = get_current_page_name( )
|
||||||
iv_getdata = getdata
|
iv_getdata = getdata
|
||||||
it_postdata = postdata
|
it_postdata = postdata
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -104,6 +110,8 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
call_page( li_page ).
|
call_page( li_page ).
|
||||||
WHEN gc_event_state-new_page_w_bookmark.
|
WHEN gc_event_state-new_page_w_bookmark.
|
||||||
call_page( ii_page = li_page iv_with_bookmark = abap_true ).
|
call_page( ii_page = li_page iv_with_bookmark = abap_true ).
|
||||||
|
WHEN gc_event_state-new_page_replacing.
|
||||||
|
call_page( ii_page = li_page iv_replacing = abap_true ).
|
||||||
WHEN gc_event_state-go_back.
|
WHEN gc_event_state-go_back.
|
||||||
back( ).
|
back( ).
|
||||||
WHEN gc_event_state-go_back_to_bookmark.
|
WHEN gc_event_state-go_back_to_bookmark.
|
||||||
|
@ -158,7 +166,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
ls_stack TYPE ty_page_stack.
|
ls_stack TYPE ty_page_stack.
|
||||||
FIELD-SYMBOLS <ls_asset> LIKE LINE OF lt_assets.
|
FIELD-SYMBOLS <ls_asset> LIKE LINE OF lt_assets.
|
||||||
|
|
||||||
IF NOT mi_cur_page IS INITIAL.
|
IF iv_replacing = abap_false AND NOT mi_cur_page IS INITIAL.
|
||||||
ls_stack-page = mi_cur_page.
|
ls_stack-page = mi_cur_page.
|
||||||
ls_stack-bookmark = iv_with_bookmark.
|
ls_stack-bookmark = iv_with_bookmark.
|
||||||
APPEND ls_stack TO mt_stack.
|
APPEND ls_stack TO mt_stack.
|
||||||
|
@ -270,4 +278,14 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "cache_image
|
ENDMETHOD. "cache_image
|
||||||
|
|
||||||
|
METHOD get_current_page_name.
|
||||||
|
IF mi_cur_page IS BOUND.
|
||||||
|
rv_page_name =
|
||||||
|
cl_abap_classdescr=>describe_by_object_ref( mi_cur_page
|
||||||
|
)->get_relative_name( ).
|
||||||
|
SHIFT rv_page_name LEFT DELETING LEADING 'LCL_GUI_'.
|
||||||
|
ENDIF." ELSE - return is empty => initial page
|
||||||
|
|
||||||
|
ENDMETHOD. "get_current_page_name
|
||||||
|
|
||||||
ENDCLASS. "lcl_gui IMPLEMENTATION
|
ENDCLASS. "lcl_gui IMPLEMENTATION
|
|
@ -10,6 +10,7 @@ CLASS lcl_gui_router DEFINITION FINAL.
|
||||||
|
|
||||||
METHODS on_event
|
METHODS on_event
|
||||||
IMPORTING iv_action TYPE clike
|
IMPORTING iv_action TYPE clike
|
||||||
|
iv_prev_page TYPE clike
|
||||||
iv_getdata TYPE clike OPTIONAL
|
iv_getdata TYPE clike OPTIONAL
|
||||||
it_postdata TYPE cnht_post_data_tab OPTIONAL
|
it_postdata TYPE cnht_post_data_tab OPTIONAL
|
||||||
EXPORTING ei_page TYPE REF TO lif_gui_page
|
EXPORTING ei_page TYPE REF TO lif_gui_page
|
||||||
|
|
|
@ -9,6 +9,7 @@ INTERFACE lif_gui_page.
|
||||||
|
|
||||||
METHODS on_event
|
METHODS on_event
|
||||||
IMPORTING iv_action TYPE clike
|
IMPORTING iv_action TYPE clike
|
||||||
|
iv_prev_page TYPE clike
|
||||||
iv_getdata TYPE clike OPTIONAL
|
iv_getdata TYPE clike OPTIONAL
|
||||||
it_postdata TYPE cnht_post_data_tab OPTIONAL
|
it_postdata TYPE cnht_post_data_tab OPTIONAL
|
||||||
EXPORTING ei_page TYPE REF TO lif_gui_page
|
EXPORTING ei_page TYPE REF TO lif_gui_page
|
||||||
|
|
Loading…
Reference in New Issue
Block a user