nested view (#347)

This commit is contained in:
oblomov 2023-07-06 11:31:10 +02:00 committed by GitHub
parent 7e0a87aa29
commit 6da232649a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 83 additions and 42 deletions

View File

@ -135,7 +135,6 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` if (!sap.z2ui5.checkNestAfter) {` && |\n| &&
` if (sap.z2ui5.oResponse.PARAMS.S_VIEW_NEST.XML !== '') {` && |\n| &&
` sap.z2ui5.oController.ViewClose(sap.z2ui5.oViewNest);` && |\n| &&
* ` jQuery.sap.delayedCall(50, this, function () { ` &&
` new sap.ui.core.mvc.XMLView.create({` && |\n| &&
` definition: sap.z2ui5.oResponse.PARAMS.S_VIEW_NEST.XML,` && |\n| &&
` }).then(oView => {` && |\n| &&
@ -150,7 +149,6 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` sap.z2ui5.oViewNest = oView;` && |\n| &&
` },` && |\n| &&
` );` && |\n| &&
* ` }); ` &&
` }` && |\n| &&
` }` && |\n| &&
` if (sap.z2ui5.oResponse.PARAMS.S_POPOVER.CHECK_CLOSE == true) {` && |\n| &&
@ -286,14 +284,14 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` }` && |\n| &&
` }` && |\n| &&
|\n| &&
` var oModel = new sap.ui.model.json.JSONModel(sap.z2ui5.oResponse.OVIEWMODEL);` && |\n| &&
` ` && |\n| &&
` if (sap.z2ui5.oResponse.PARAMS.S_VIEW.CHECK_DESTROY == true) { if (sap.z2ui5.oView) { sap.z2ui5.oView.destroy(); } }` && |\n| &&
` if (sap.z2ui5.oResponse.PARAMS.S_VIEW.XML !== '') {` && |\n| &&
` sap.z2ui5.oController.ViewClose(sap.z2ui5.oView);` && |\n| &&
` new sap.ui.core.mvc.XMLView.create({` && |\n| &&
` definition: sap.z2ui5.oResponse.PARAMS.S_VIEW.XML,` && |\n| &&
` }).then(oView => {` && |\n| &&
` oView.setModel(oModel);` && |\n| &&
` oView.setModel(new sap.ui.model.json.JSONModel(sap.z2ui5.oResponse.OVIEWMODEL));` && |\n| &&
` if (sap.z2ui5.oParent) {` && |\n| &&
` sap.z2ui5.oParent.removeAllPages();` && |\n| &&
` sap.z2ui5.oParent.insertPage(oView);` && |\n| &&
@ -306,9 +304,10 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` } else {` && |\n| &&
` if (sap.z2ui5.oView) {` && |\n| &&
` if (sap.z2ui5.oResponse.PARAMS.S_VIEW.CHECK_UPDATE_MODEL == true) {` && |\n| &&
` sap.z2ui5.oView.setModel(oModel);` && |\n| &&
` }` && |\n| &&
` sap.z2ui5.oView.setModel(new sap.ui.model.json.JSONModel(sap.z2ui5.oResponse.OVIEWMODEL)); }` && |\n| &&
` if (sap.z2ui5.oResponse.PARAMS.S_VIEW_NEST.CHECK_UPDATE_MODEL == true) { sap.z2ui5.oViewNest.setModel(new sap.ui.model.json.JSONModel(sap.z2ui5.oResponse.OVIEWMODEL)); }` && |\n| &&
` }` && |\n| &&
` ` && |\n| &&
` sap.z2ui5.oController.onAfterRendering();` && |\n| &&
` }` && |\n| &&
` },` && |\n| &&

View File

@ -656,7 +656,7 @@ CLASS z2ui5_lcl_fw_handler DEFINITION.
BEGIN OF s_view,
xml TYPE string,
check_destroy TYPE abap_bool,
check_update_model type abap_bool,
check_update_model TYPE abap_bool,
END OF s_view,
BEGIN OF s_view_nest,
xml TYPE string,
@ -664,6 +664,7 @@ CLASS z2ui5_lcl_fw_handler DEFINITION.
method_insert TYPE string,
method_destroy TYPE string,
check_destroy TYPE abap_bool,
check_update_model TYPE abap_bool,
END OF s_view_nest,
BEGIN OF s_popup,
xml TYPE string,
@ -1247,6 +1248,7 @@ ENDCLASS.
CLASS z2ui5_lcl_fw_client DEFINITION.
PUBLIC SECTION.
INTERFACES z2ui5_if_client.
DATA mo_handler TYPE REF TO z2ui5_lcl_fw_handler.
@ -1703,7 +1705,19 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION.
ENDMETHOD.
METHOD z2ui5_if_client~view_display_nested.
METHOD z2ui5_if_client~nest_view_destroy.
mo_handler->ms_next-s_set-s_view_nest-check_update_model = abap_true.
ENDMETHOD.
METHOD z2ui5_if_client~nest_view_model_update.
mo_handler->ms_next-s_set-s_view_nest-check_update_model = abap_true.
ENDMETHOD.
METHOD z2ui5_if_client~nest_view_display.
mo_handler->ms_next-s_set-s_view_nest-xml = val.
mo_handler->ms_next-s_set-s_view_nest-id = id.

View File

@ -11,28 +11,34 @@ CLASS z2ui5_cl_xml_view DEFINITION
!t_ns TYPE z2ui5_if_client=>ty_t_name_value OPTIONAL
!client TYPE REF TO z2ui5_if_client
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
CLASS-METHODS factory_popup
IMPORTING
!t_ns TYPE z2ui5_if_client=>ty_t_name_value OPTIONAL
!client TYPE REF TO z2ui5_if_client
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS constructor .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS constructor.
METHODS hlp_get_source_code_url
RETURNING
VALUE(result) TYPE string .
VALUE(result) TYPE string.
METHODS hlp_replace_controller_name
IMPORTING
!xml TYPE string
RETURNING
VALUE(result) TYPE string .
VALUE(result) TYPE string.
METHODS horizontal_layout
IMPORTING
!class TYPE clike OPTIONAL
!width TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dynamic_page
IMPORTING
!headerexpanded TYPE clike OPTIONAL
@ -40,15 +46,18 @@ CLASS z2ui5_cl_xml_view DEFINITION
!headerpinned TYPE clike OPTIONAL
!toggleheaderontitleclick TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dynamic_page_title
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dynamic_page_header
IMPORTING
!pinnable TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS illustrated_message
IMPORTING
!enableverticalresponsiveness TYPE clike OPTIONAL
@ -58,10 +67,12 @@ CLASS z2ui5_cl_xml_view DEFINITION
!description TYPE clike OPTIONAL
!illustrationsize TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS additional_content
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS flex_box
IMPORTING
!class TYPE clike OPTIONAL
@ -74,7 +85,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
!wrap TYPE clike OPTIONAL
!visible TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS popover
IMPORTING
!title TYPE clike OPTIONAL
@ -84,13 +96,15 @@ CLASS z2ui5_cl_xml_view DEFINITION
!contentwidth TYPE clike OPTIONAL
!contentheight TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS list_item
IMPORTING
!text TYPE clike OPTIONAL
!additionaltext TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS table
IMPORTING
!items TYPE clike OPTIONAL
@ -106,7 +120,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
!autopopinmode TYPE clike OPTIONAL
PREFERRED PARAMETER items
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS message_strip
IMPORTING
!text TYPE clike OPTIONAL
@ -115,12 +130,14 @@ CLASS z2ui5_cl_xml_view DEFINITION
!class TYPE clike OPTIONAL
PREFERRED PARAMETER text
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS footer
IMPORTING
!ns TYPE string OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS message_page
IMPORTING
!show_header TYPE clike OPTIONAL
@ -129,7 +146,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
!description TYPE clike OPTIONAL
!icon TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS object_page_layout
IMPORTING
!showtitleinheadercontent TYPE clike OPTIONAL
@ -355,17 +373,21 @@ CLASS z2ui5_cl_xml_view DEFINITION
METHODS get_parent
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS get
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS get_child
IMPORTING
!index TYPE i DEFAULT 1
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS columns
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS column
IMPORTING
!width TYPE clike OPTIONAL
@ -387,10 +409,12 @@ CLASS z2ui5_cl_xml_view DEFINITION
!displayedsegments TYPE clike OPTIONAL
!press TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS segments
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS interact_donut_chart_segment
IMPORTING
!label TYPE clike OPTIONAL

View File

@ -55,12 +55,16 @@ INTERFACE z2ui5_if_client
METHODS view_model_update.
METHODS view_display_nested
METHODS nest_view_display
IMPORTING
val TYPE clike
id type clike
method_insert type clike
method_destroy type clike optional.
id TYPE clike
method_insert TYPE clike
method_destroy TYPE clike OPTIONAL.
METHODS nest_view_destroy.
METHODS nest_view_model_update.
METHODS cursor_set
IMPORTING
@ -143,7 +147,7 @@ INTERFACE z2ui5_if_client
METHODS _event_client
IMPORTING
action TYPE clike
t_arg TYPE string_table optional
t_arg TYPE string_table OPTIONAL
RETURNING
VALUE(result) TYPE string.