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

View File

@ -654,16 +654,17 @@ CLASS z2ui5_lcl_fw_handler DEFINITION.
path TYPE string, path TYPE string,
url TYPE string, url TYPE string,
BEGIN OF s_view, BEGIN OF s_view,
xml TYPE string, xml TYPE string,
check_destroy TYPE abap_bool, check_destroy TYPE abap_bool,
check_update_model type abap_bool, check_update_model TYPE abap_bool,
END OF s_view, END OF s_view,
BEGIN OF s_view_nest, BEGIN OF s_view_nest,
xml TYPE string, xml TYPE string,
id TYPE string, id TYPE string,
method_insert TYPE string, method_insert TYPE string,
method_destroy TYPE string, method_destroy TYPE string,
check_destroy TYPE abap_bool, check_destroy TYPE abap_bool,
check_update_model TYPE abap_bool,
END OF s_view_nest, END OF s_view_nest,
BEGIN OF s_popup, BEGIN OF s_popup,
xml TYPE string, xml TYPE string,
@ -1247,6 +1248,7 @@ ENDCLASS.
CLASS z2ui5_lcl_fw_client DEFINITION. CLASS z2ui5_lcl_fw_client DEFINITION.
PUBLIC SECTION. PUBLIC SECTION.
INTERFACES z2ui5_if_client. INTERFACES z2ui5_if_client.
DATA mo_handler TYPE REF TO z2ui5_lcl_fw_handler. DATA mo_handler TYPE REF TO z2ui5_lcl_fw_handler.
@ -1703,7 +1705,19 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION.
ENDMETHOD. 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-xml = val.
mo_handler->ms_next-s_set-s_view_nest-id = id. 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 !t_ns TYPE z2ui5_if_client=>ty_t_name_value OPTIONAL
!client TYPE REF TO z2ui5_if_client !client TYPE REF TO z2ui5_if_client
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
CLASS-METHODS factory_popup CLASS-METHODS factory_popup
IMPORTING IMPORTING
!t_ns TYPE z2ui5_if_client=>ty_t_name_value OPTIONAL !t_ns TYPE z2ui5_if_client=>ty_t_name_value OPTIONAL
!client TYPE REF TO z2ui5_if_client !client TYPE REF TO z2ui5_if_client
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS constructor .
METHODS constructor.
METHODS hlp_get_source_code_url METHODS hlp_get_source_code_url
RETURNING RETURNING
VALUE(result) TYPE string . VALUE(result) TYPE string.
METHODS hlp_replace_controller_name METHODS hlp_replace_controller_name
IMPORTING IMPORTING
!xml TYPE string !xml TYPE string
RETURNING RETURNING
VALUE(result) TYPE string . VALUE(result) TYPE string.
METHODS horizontal_layout METHODS horizontal_layout
IMPORTING IMPORTING
!class TYPE clike OPTIONAL !class TYPE clike OPTIONAL
!width TYPE clike OPTIONAL !width TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dynamic_page METHODS dynamic_page
IMPORTING IMPORTING
!headerexpanded TYPE clike OPTIONAL !headerexpanded TYPE clike OPTIONAL
@ -40,15 +46,18 @@ CLASS z2ui5_cl_xml_view DEFINITION
!headerpinned TYPE clike OPTIONAL !headerpinned TYPE clike OPTIONAL
!toggleheaderontitleclick TYPE clike OPTIONAL !toggleheaderontitleclick TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dynamic_page_title METHODS dynamic_page_title
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dynamic_page_header METHODS dynamic_page_header
IMPORTING IMPORTING
!pinnable TYPE clike OPTIONAL !pinnable TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS illustrated_message METHODS illustrated_message
IMPORTING IMPORTING
!enableverticalresponsiveness TYPE clike OPTIONAL !enableverticalresponsiveness TYPE clike OPTIONAL
@ -58,10 +67,12 @@ CLASS z2ui5_cl_xml_view DEFINITION
!description TYPE clike OPTIONAL !description TYPE clike OPTIONAL
!illustrationsize TYPE clike OPTIONAL !illustrationsize TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS additional_content METHODS additional_content
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS flex_box METHODS flex_box
IMPORTING IMPORTING
!class TYPE clike OPTIONAL !class TYPE clike OPTIONAL
@ -74,7 +85,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
!wrap TYPE clike OPTIONAL !wrap TYPE clike OPTIONAL
!visible TYPE clike OPTIONAL !visible TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS popover METHODS popover
IMPORTING IMPORTING
!title TYPE clike OPTIONAL !title TYPE clike OPTIONAL
@ -84,13 +96,15 @@ CLASS z2ui5_cl_xml_view DEFINITION
!contentwidth TYPE clike OPTIONAL !contentwidth TYPE clike OPTIONAL
!contentheight TYPE clike OPTIONAL !contentheight TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS list_item METHODS list_item
IMPORTING IMPORTING
!text TYPE clike OPTIONAL !text TYPE clike OPTIONAL
!additionaltext TYPE clike OPTIONAL !additionaltext TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS table METHODS table
IMPORTING IMPORTING
!items TYPE clike OPTIONAL !items TYPE clike OPTIONAL
@ -106,7 +120,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
!autopopinmode TYPE clike OPTIONAL !autopopinmode TYPE clike OPTIONAL
PREFERRED PARAMETER items PREFERRED PARAMETER items
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS message_strip METHODS message_strip
IMPORTING IMPORTING
!text TYPE clike OPTIONAL !text TYPE clike OPTIONAL
@ -115,12 +130,14 @@ CLASS z2ui5_cl_xml_view DEFINITION
!class TYPE clike OPTIONAL !class TYPE clike OPTIONAL
PREFERRED PARAMETER text PREFERRED PARAMETER text
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS footer METHODS footer
IMPORTING IMPORTING
!ns TYPE string OPTIONAL !ns TYPE string OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS message_page METHODS message_page
IMPORTING IMPORTING
!show_header TYPE clike OPTIONAL !show_header TYPE clike OPTIONAL
@ -129,7 +146,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
!description TYPE clike OPTIONAL !description TYPE clike OPTIONAL
!icon TYPE clike OPTIONAL !icon TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS object_page_layout METHODS object_page_layout
IMPORTING IMPORTING
!showtitleinheadercontent TYPE clike OPTIONAL !showtitleinheadercontent TYPE clike OPTIONAL
@ -355,17 +373,21 @@ CLASS z2ui5_cl_xml_view DEFINITION
METHODS get_parent METHODS get_parent
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view. VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS get METHODS get
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view. VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS get_child METHODS get_child
IMPORTING IMPORTING
!index TYPE i DEFAULT 1 !index TYPE i DEFAULT 1
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view. VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS columns METHODS columns
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view. VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS column METHODS column
IMPORTING IMPORTING
!width TYPE clike OPTIONAL !width TYPE clike OPTIONAL
@ -387,10 +409,12 @@ CLASS z2ui5_cl_xml_view DEFINITION
!displayedsegments TYPE clike OPTIONAL !displayedsegments TYPE clike OPTIONAL
!press TYPE clike OPTIONAL !press TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS segments METHODS segments
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS interact_donut_chart_segment METHODS interact_donut_chart_segment
IMPORTING IMPORTING
!label TYPE clike OPTIONAL !label TYPE clike OPTIONAL

View File

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