diff --git a/src/z2ui5_cl_http_handler.clas.abap b/src/z2ui5_cl_http_handler.clas.abap index 99989a29..aab02496 100644 --- a/src/z2ui5_cl_http_handler.clas.abap +++ b/src/z2ui5_cl_http_handler.clas.abap @@ -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| && diff --git a/src/z2ui5_cl_http_handler.clas.locals_imp.abap b/src/z2ui5_cl_http_handler.clas.locals_imp.abap index 40aea692..b5c5a1a0 100644 --- a/src/z2ui5_cl_http_handler.clas.locals_imp.abap +++ b/src/z2ui5_cl_http_handler.clas.locals_imp.abap @@ -654,16 +654,17 @@ CLASS z2ui5_lcl_fw_handler DEFINITION. path TYPE string, url TYPE string, BEGIN OF s_view, - xml TYPE string, - check_destroy TYPE abap_bool, - check_update_model type abap_bool, + xml TYPE string, + check_destroy TYPE abap_bool, + check_update_model TYPE abap_bool, END OF s_view, BEGIN OF s_view_nest, - xml TYPE string, - id TYPE string, - method_insert TYPE string, - method_destroy TYPE string, - check_destroy TYPE abap_bool, + xml TYPE string, + id TYPE string, + 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. diff --git a/src/z2ui5_cl_xml_view.clas.abap b/src/z2ui5_cl_xml_view.clas.abap index 933e5d28..376b381b 100644 --- a/src/z2ui5_cl_xml_view.clas.abap +++ b/src/z2ui5_cl_xml_view.clas.abap @@ -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 diff --git a/src/z2ui5_if_client.intf.abap b/src/z2ui5_if_client.intf.abap index 14409bab..d27b360d 100644 --- a/src/z2ui5_if_client.intf.abap +++ b/src/z2ui5_if_client.intf.abap @@ -53,14 +53,18 @@ INTERFACE z2ui5_if_client IMPORTING val TYPE clike. - METHODS view_model_update. + 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. + val TYPE clike + 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.