draft cleanup and change of event arguments (#264)

* update

* update
This commit is contained in:
oblomov 2023-06-09 12:20:49 +02:00
parent 4ffc8396a0
commit d496a0801c
6 changed files with 46 additions and 73 deletions

View File

@ -110,7 +110,7 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` }` && |\n| && ` }` && |\n| &&
` },` && |\n| && ` },` && |\n| &&
|\n| && |\n| &&
` onEvent: function (oEvent, isHoldView, vData , vData2 , vData3 ) {` && |\n| && ` onEvent: function (oEvent) {` && |\n| &&
|\n| && |\n| &&
` if (!window.navigator.onLine) {` && |\n| && ` if (!window.navigator.onLine) {` && |\n| &&
` sap.m.MessageBox.alert('No internet connection! Please reconnect to the server and try again.');` && |\n| && ` sap.m.MessageBox.alert('No internet connection! Please reconnect to the server and try again.');` && |\n| &&
@ -144,10 +144,7 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` });` && |\n| && ` });` && |\n| &&
` }` && |\n| && ` }` && |\n| &&
` this.oBody.ID = sap.z2ui5.oResponse.ID;` && |\n| && ` this.oBody.ID = sap.z2ui5.oResponse.ID;` && |\n| &&
` this.oBody.oEvent = oEvent;` && |\n| && ` this.oBody.ARGUMENTS = arguments;` && |\n| &&
` this.oBody.oEvent.vData = vData;` && |\n| &&
` this.oBody.oEvent.vData2 = vData2;` && |\n| &&
` this.oBody.oEvent.vData3 = vData3;` && |\n| &&
|\n| && |\n| &&
` if (sap.z2ui5.checkLogActive) {` && |\n| && ` if (sap.z2ui5.checkLogActive) {` && |\n| &&
` console.log('Request Object:');` && |\n| && ` console.log('Request Object:');` && |\n| &&
@ -156,7 +153,7 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` sap.z2ui5.oResponseOld = sap.z2ui5.oResponse;` && |\n| && ` sap.z2ui5.oResponseOld = sap.z2ui5.oResponse;` && |\n| &&
` sap.z2ui5.oResponse = {};` && |\n| && ` sap.z2ui5.oResponse = {};` && |\n| &&
` sap.z2ui5.oBody = this.oBody;` && |\n| && ` sap.z2ui5.oBody = this.oBody;` && |\n| &&
` sap.z2ui5.Roundtrip(isHoldView);` && |\n| && ` sap.z2ui5.Roundtrip(oEvent.isHoldView);` && |\n| &&
` },` && |\n| && ` },` && |\n| &&
` Roundtrip: function (isHoldView) {` && |\n| && ` Roundtrip: function (isHoldView) {` && |\n| &&
` sap.z2ui5.checkTimerActive = false;` && |\n| && ` sap.z2ui5.checkTimerActive = false;` && |\n| &&
@ -164,8 +161,6 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` sap.z2ui5.oView.destroy();` && |\n| && ` sap.z2ui5.oView.destroy();` && |\n| &&
` } }` && |\n| && ` } }` && |\n| &&
` var xhr = new XMLHttpRequest();` && |\n| && ` var xhr = new XMLHttpRequest();` && |\n| &&
` // var url = "/sap/bc/http/sap/y2ui5_http_handler/";` && |\n| &&
` // xhr.open("POST", url, true);` && |\n| &&
` xhr.open("POST", sap.z2ui5.pathname , true);` && |\n| && ` xhr.open("POST", sap.z2ui5.pathname , true);` && |\n| &&
` xhr.onload = function (that) {` && |\n| && ` xhr.onload = function (that) {` && |\n| &&
|\n| && |\n| &&
@ -226,7 +221,6 @@ CLASS Z2UI5_CL_HTTP_HANDLER IMPLEMENTATION.
` var oView = sap.ui.xmlview({ viewContent: xml });` && |\n| && ` var oView = sap.ui.xmlview({ viewContent: xml });` && |\n| &&
` sap.z2ui5.Roundtrip = oView.getController().Roundtrip;` && |\n| && ` sap.z2ui5.Roundtrip = oView.getController().Roundtrip;` && |\n| &&
` sap.z2ui5.oController = oView.getController();` && |\n| && ` sap.z2ui5.oController = oView.getController();` && |\n| &&
` // sap.z2ui5.pathname = window.location.pathname;` && |\n| &&
` sap.z2ui5.Roundtrip(false);` && |\n| && ` sap.z2ui5.Roundtrip(false);` && |\n| &&
` sap.z2ui5.onAfter = () => {` && |\n| && ` sap.z2ui5.onAfter = () => {` && |\n| &&
` if (sap.z2ui5.oResponse.PARAMS.TITLE != "") {` && |\n| && ` if (sap.z2ui5.oResponse.PARAMS.TITLE != "") {` && |\n| &&

View File

@ -1168,36 +1168,30 @@ CLASS z2ui5_lcl_fw_db IMPLEMENTATION.
METHOD read. METHOD read.
IF check_load_app = abap_true. IF check_load_app = abap_true.
SELECT SINGLE * SELECT SINGLE *
FROM z2ui5_t_draft FROM z2ui5_t_draft
WHERE uuid = @id WHERE uuid = @id
INTO @result. INTO @result.
z2ui5_lcl_utility=>raise( when = xsdbool( sy-subrc <> 0 ) ).
ELSE. ELSE.
SELECT SINGLE uuid, uuid_prev, uuid_prev_app, uuid_prev_app_stack SELECT SINGLE uuid, uuid_prev, uuid_prev_app, uuid_prev_app_stack
FROM z2ui5_t_draft FROM z2ui5_t_draft
WHERE uuid = @id WHERE uuid = @id
INTO CORRESPONDING FIELDS OF @result. INTO CORRESPONDING FIELDS OF @result.
z2ui5_lcl_utility=>raise( when = xsdbool( sy-subrc <> 0 ) ).
ENDIF. ENDIF.
z2ui5_lcl_utility=>raise( when = xsdbool( sy-subrc <> 0 ) ).
ENDMETHOD. ENDMETHOD.
METHOD cleanup. METHOD cleanup.
DATA lv_timestampl TYPE timestampl. DATA lv_ts_now TYPE timestampl.
GET TIME STAMP FIELD lv_ts_now.
DATA(lv_time) = sy-uzeit. DATA(lv_ts_four_hours_ago) = cl_abap_tstmp=>subtractsecs(
lv_time = lv_time - ( 60 * 60 * 4 ). tstmp = lv_ts_now
secs = 60 * 60 * 4 ).
CONVERT DATE sy-datum TIME lv_time DELETE FROM z2ui5_t_draft WHERE timestampl < @lv_ts_four_hours_ago.
INTO TIME STAMP lv_timestampl TIME ZONE sy-zonlo.
DELETE FROM z2ui5_t_draft WHERE timestampl < @lv_timestampl.
COMMIT WORK. COMMIT WORK.
ENDMETHOD. ENDMETHOD.
@ -1318,13 +1312,6 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
json = `"` && <val> && `"` json = `"` && <val> && `"`
CHANGING CHANGING
data = <attribute> ). data = <attribute> ).
" WHEN 'C'.
" CASE lr_attri->type.
" WHEN `ABAP_BOOL` OR `ABAP_BOOLEAN` OR `XSDBOOLEAN`.
" <attribute> = xsdbool( <val> = `true` ).
" WHEN OTHERS.
" <attribute> = <val>.
"° ENDCASE.
WHEN OTHERS. WHEN OTHERS.
<attribute> = <val>. <attribute> = <val>.
ENDCASE. ENDCASE.
@ -1334,11 +1321,18 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
CATCH cx_root. CATCH cx_root.
ENDTRY. ENDTRY.
DATA(lo_arg) = mo_body->get_attribute( `ARGUMENTS` ).
TRY. TRY.
result->ms_actual-event = mo_body->get_attribute( `OEVENT` )->get_attribute( `EVENT` )->get_val( ). result->ms_actual-event = lo_arg->get_attribute( `0` )->get_attribute( `EVENT` )->get_val( ).
result->ms_actual-event_data = mo_body->get_attribute( `OEVENT` )->get_attribute( `vData` )->get_val( ). CATCH cx_root.
result->ms_actual-event_data2 = mo_body->get_attribute( `OEVENT` )->get_attribute( `vData2` )->get_val( ). ENDTRY.
result->ms_actual-event_data3 = mo_body->get_attribute( `OEVENT` )->get_attribute( `vData3` )->get_val( ).
TRY.
DO.
DATA(lv_val) = lo_arg->get_attribute( CONV string( sy-index ) )->get_val( ).
INSERT lv_val INTO TABLE result->ms_actual-t_event_arg.
ENDDO.
CATCH cx_root. CATCH cx_root.
ENDTRY. ENDTRY.
@ -1408,7 +1402,6 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
result->ms_db-id_prev_app = ms_db-id. result->ms_db-id_prev_app = ms_db-id.
result->ms_db-id_prev = ms_db-id. result->ms_db-id_prev = ms_db-id.
" result->ms_next-s_set-path = `test`. "ms_next-s_set-path.
CLEAR ms_next. CLEAR ms_next.
ENDMETHOD. ENDMETHOD.
@ -1449,7 +1442,8 @@ CLASS z2ui5_lcl_fw_handler IMPLEMENTATION.
RETURN. RETURN.
ENDIF. ENDIF.
DATA(lr_in) = REF #( value ). DATA lr_in TYPE REF TO data.
GET REFERENCE OF value INTO lr_in.
LOOP AT ms_db-t_attri REFERENCE INTO DATA(lr_attri) LOOP AT ms_db-t_attri REFERENCE INTO DATA(lr_attri)
WHERE bind_type <> cs_bind_type-one_time. WHERE bind_type <> cs_bind_type-one_time.
@ -1652,9 +1646,7 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION.
result = VALUE #( BASE CORRESPONDING #( mo_handler->ms_db ) result = VALUE #( BASE CORRESPONDING #( mo_handler->ms_db )
event = mo_handler->ms_actual-event event = mo_handler->ms_actual-event
event_data = mo_handler->ms_actual-event_data t_event_arg = mo_handler->ms_actual-t_event_arg
event_data2 = mo_handler->ms_actual-event_data2
event_data3 = mo_handler->ms_actual-event_data3
t_scroll_pos = mo_handler->ms_actual-t_scroll_pos t_scroll_pos = mo_handler->ms_actual-t_scroll_pos
t_req_header = z2ui5_cl_http_handler=>client-t_header t_req_header = z2ui5_cl_http_handler=>client-t_header
t_req_param = z2ui5_cl_http_handler=>client-t_param t_req_param = z2ui5_cl_http_handler=>client-t_param
@ -1698,26 +1690,13 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION.
METHOD z2ui5_if_client~_event. METHOD z2ui5_if_client~_event.
IF data IS INITIAL. result = `onEvent( { 'EVENT' : '` && val && `', 'METHOD' : 'UPDATE' , 'isHoldView' : ` && z2ui5_lcl_utility=>get_json_boolean( hold_view ) && ` }`.
DATA(lv_data) = `''`.
ELSE.
lv_data = data.
ENDIF.
IF data2 IS INITIAL. LOOP AT t_arg REFERENCE INTO DATA(lr_arg).
DATA(lv_data2) = `''`. result = result && `,` && lr_arg->*.
ELSE. ENDLOOP.
lv_data2 = data2.
ENDIF.
IF data3 IS INITIAL. result = result && `)`.
DATA(lv_data3) = `''`.
ELSE.
lv_data3 = data3.
ENDIF.
result = `onEvent( { 'EVENT' : '` && val && `', 'METHOD' : 'UPDATE' } , ` && z2ui5_lcl_utility=>get_json_boolean( hold_view )
&& ` , ` && lv_data && ` , ` && lv_data2 && ` , ` && lv_data3 && ` )`.
ENDMETHOD. ENDMETHOD.

View File

@ -895,7 +895,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION.
ENDIF. ENDIF.
DATA(lv_id) = CONV string( <val> ). DATA(lv_id) = CONV string( <val> ).
DATA(lv_request) = `{"oUpdate":{"QUANTITY":"600"},"ID": "` && lv_id && `" ,"oEvent":{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}}`. DATA(lv_request) = `{"oUpdate":{"QUANTITY":"600"},"ID": "` && lv_id && `" ,"ARGUMENTS":{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}}`.
z2ui5_cl_http_handler=>client = VALUE #( body = lv_request ). z2ui5_cl_http_handler=>client = VALUE #( body = lv_request ).
lv_response = z2ui5_cl_http_handler=>http_post( ). lv_response = z2ui5_cl_http_handler=>http_post( ).
@ -940,7 +940,7 @@ CLASS ltcl_unit_03_app_ajax IMPLEMENTATION.
ENDIF. ENDIF.
DATA(lv_id) = CONV string( <val> ). DATA(lv_id) = CONV string( <val> ).
DATA(lv_request) = `{"oUpdate":{"QUANTITY":"700"},"ID": "` && lv_id && `" ,"oEvent":{"EVENT":"BUTTON_POST","METHOD":"UPDATE"}}`. DATA(lv_request) = `{"oUpdate":{"QUANTITY":"700"},"ID": "` && lv_id && `" ,"ARGUMENTS": { "0" : {"EVENT":"BUTTON_POST","METHOD":"UPDATE"} } }`.
z2ui5_cl_http_handler=>client = VALUE #( body = lv_request ). z2ui5_cl_http_handler=>client = VALUE #( body = lv_request ).
lv_response = z2ui5_cl_http_handler=>http_post( ). lv_response = z2ui5_cl_http_handler=>http_post( ).

View File

@ -312,6 +312,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
submit TYPE clike OPTIONAL submit TYPE clike OPTIONAL
valueHelpRequest TYPE clike OPTIONAL valueHelpRequest TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL enabled TYPE clike OPTIONAL
class TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view. VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
@ -1020,7 +1021,7 @@ ENDCLASS.
CLASS z2ui5_cl_xml_view IMPLEMENTATION. CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
METHOD actions. METHOD actions.
@ -2121,6 +2122,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
( n = `value` v = value ) ( n = `value` v = value )
( n = `id` v = id ) ( n = `id` v = id )
( n = `valueHelpRequest` v = valueHelpRequest ) ( n = `valueHelpRequest` v = valueHelpRequest )
( n = `class` v = class )
) ). ) ).
ENDMETHOD. ENDMETHOD.
@ -2743,6 +2745,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD panel. METHOD panel.
result = _generic( result = _generic(
@ -2755,6 +2758,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD vbox. METHOD vbox.
result = _generic( result = _generic(

View File

@ -11,9 +11,7 @@ INTERFACE z2ui5_if_client
TYPES: TYPES:
BEGIN OF ty_s_get, BEGIN OF ty_s_get,
event TYPE string, event TYPE string,
event_data TYPE string, t_event_arg TYPE string_table,
event_data2 TYPE string,
event_data3 TYPE string,
id TYPE string, id TYPE string,
id_prev TYPE string, id_prev TYPE string,
id_prev_app TYPE string, id_prev_app TYPE string,
@ -94,10 +92,8 @@ INTERFACE z2ui5_if_client
METHODS _event METHODS _event
IMPORTING IMPORTING
val TYPE clike val TYPE clike
data TYPE clike OPTIONAL
data2 TYPE clike OPTIONAL
data3 TYPE clike OPTIONAL
hold_view TYPE abap_bool DEFAULT abap_false hold_view TYPE abap_bool DEFAULT abap_false
t_arg TYPE string_table OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE string. VALUE(result) TYPE string.