diff --git a/src/z2ui5_cl_http_handler.clas.abap b/src/z2ui5_cl_http_handler.clas.abap index 28b444b8..f10b37df 100644 --- a/src/z2ui5_cl_http_handler.clas.abap +++ b/src/z2ui5_cl_http_handler.clas.abap @@ -135,16 +135,22 @@ 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| && ` oView.setModel(new sap.ui.model.json.JSONModel(sap.z2ui5.oResponse.OVIEWMODEL));` && |\n| && ` var oParent = sap.z2ui5.oView.byId(sap.z2ui5.oResponse.PARAMS.S_VIEW_NEST.ID);` && |\n| && - ` oParent.addContent(oView);` && |\n| && + ` // oParent.addContent(oView);` && |\n| && + ` oParent[ sap.z2ui5.oResponse.PARAMS.S_VIEW_NEST.METHOD_DESTROY ]();` && |\n| && + ` // oParent.removeAllMidColumnPages();` && |\n| && + ` oParent[ sap.z2ui5.oResponse.PARAMS.S_VIEW_NEST.METHOD_INSERT ](oView);` && |\n| && + ` // oParent.addMidColumnPage(oView);` && |\n| && ` sap.z2ui5.checkNestAfter = true;` && |\n| && ` sap.z2ui5.oViewNest = oView;` && |\n| && ` },` && |\n| && ` );` && |\n| && +* ` }); ` && ` }` && |\n| && ` }` && |\n| && ` if (sap.z2ui5.oResponse.PARAMS.S_POPOVER.CHECK_CLOSE == true) {` && |\n| && @@ -299,8 +305,10 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION. ` );` && |\n| && ` } 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| && + ` }` && |\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 347d7244..40aea692 100644 --- a/src/z2ui5_cl_http_handler.clas.locals_imp.abap +++ b/src/z2ui5_cl_http_handler.clas.locals_imp.abap @@ -656,11 +656,14 @@ CLASS z2ui5_lcl_fw_handler DEFINITION. BEGIN OF s_view, 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, - check_destroy TYPE abap_bool, + xml TYPE string, + id TYPE string, + method_insert TYPE string, + method_destroy TYPE string, + check_destroy TYPE abap_bool, END OF s_view_nest, BEGIN OF s_popup, xml TYPE string, @@ -944,7 +947,7 @@ CLASS z2ui5_lcl_fw_app IMPLEMENTATION. * SPLIT lv_prog AT `=` INTO DATA(lv_classname) DATA(lv_Dummy) ##NEEDED. DATA(lv_classname) = segment( val = lv_prog index = 1 sep = `=` ). DATA(lv_link2) = client->get( )-s_config-origin && `/sap/bc/adt/oo/classes/` && lv_classname && `/source/main`. - DATA(lv_source) = `

Source: web

`. + DATA(lv_source) = `

Source Code

`. DATA(lv_descr) = escape( val = lv_txt && lv_source format = cl_abap_format=>e_xml_attr ). DATA(ls_get) = client->get( ). @@ -1704,6 +1707,8 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION. 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-method_destroy = method_destroy. + mo_handler->ms_next-s_set-s_view_nest-method_insert = method_insert. ENDMETHOD. @@ -1800,4 +1805,10 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION. ENDMETHOD. + METHOD z2ui5_if_client~view_model_update. + + mo_handler->ms_next-s_set-s_view-check_update_model = abap_true. + + ENDMETHOD. + ENDCLASS. diff --git a/src/z2ui5_cl_xml_view.clas.abap b/src/z2ui5_cl_xml_view.clas.abap index bc94b831..cb3538a3 100644 --- a/src/z2ui5_cl_xml_view.clas.abap +++ b/src/z2ui5_cl_xml_view.clas.abap @@ -878,15 +878,21 @@ CLASS z2ui5_cl_xml_view DEFINITION METHODS filter_control RETURNING VALUE(result) TYPE REF TO z2ui5_cl_xml_view . + METHODS flexible_column_layout IMPORTING - !layout TYPE clike + layout TYPE clike + id TYPE clike RETURNING - VALUE(result) TYPE REF TO z2ui5_cl_xml_view . + VALUE(result) TYPE REF TO z2ui5_cl_xml_view. + METHODS begin_column_pages RETURNING - VALUE(result) TYPE REF TO z2ui5_cl_xml_view . + VALUE(result) TYPE REF TO z2ui5_cl_xml_view. + METHODS mid_column_pages + IMPORTING + !id TYPE clike OPTIONAL RETURNING VALUE(result) TYPE REF TO z2ui5_cl_xml_view . @@ -1017,7 +1023,9 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD begin_column_pages. " todo, implement method - result = me. + result = _generic( name = `beginColumnPages` + ns = `f` ). + ENDMETHOD. @@ -1446,9 +1454,14 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD flexible_column_layout. + result = _generic( name = `FlexibleColumnLayout` ns = `f` - t_prop = VALUE #( ( n = `layout` v = layout ) ) ). + t_prop = VALUE #( + ( n = `layout` v = layout ) + ( n = `id` v = id ) + ) ). + ENDMETHOD. @@ -1850,6 +1863,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD message_view. + result = _generic( name = `MessageView` t_prop = VALUE #( ( n = `items` v = items ) ( n = `groupItems` v = lcl_utility=>get_json_boolean( groupItems ) ) ) ). @@ -1857,8 +1871,11 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION. METHOD mid_column_pages. - " todo, implement method - result = me. + + result = _generic( name = `midColumnPages` + ns = `f` + t_prop = VALUE #( ( n = `id` v = id ) ) ). + ENDMETHOD. diff --git a/src/z2ui5_if_client.intf.abap b/src/z2ui5_if_client.intf.abap index ca06ed27..4c9e49b9 100644 --- a/src/z2ui5_if_client.intf.abap +++ b/src/z2ui5_if_client.intf.abap @@ -53,10 +53,15 @@ INTERFACE z2ui5_if_client IMPORTING val TYPE clike. + METHODS view_model_update. + METHODS view_display_nested IMPORTING val TYPE clike - id type clike. + id type clike + method_insert type clike + method_destroy type clike + . METHODS cursor_set IMPORTING