From 88c3087e418c3a928ef4657f8abae5e42285a169 Mon Sep 17 00:00:00 2001 From: oblomov <102328295+oblomov-dev@users.noreply.github.com> Date: Wed, 3 May 2023 22:12:59 +0200 Subject: [PATCH] row events (#212) --- src/00/z2ui5_cl_app_demo_48.clas.abap | 8 ++++---- src/z2ui5_cl_http_handler.clas.locals_imp.abap | 4 ++++ src/z2ui5_if_client.intf.abap | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/00/z2ui5_cl_app_demo_48.clas.abap b/src/00/z2ui5_cl_app_demo_48.clas.abap index e32882ec..53b5101b 100644 --- a/src/00/z2ui5_cl_app_demo_48.clas.abap +++ b/src/00/z2ui5_cl_app_demo_48.clas.abap @@ -48,13 +48,13 @@ CLASS z2ui5_cl_app_demo_48 IMPLEMENTATION. CASE client->get( )-event. WHEN 'TEST'. - " DATA(lt_sel1) = t_tab. - client->popup_message_box( `Test` ). + data(lv_row_title) = client->get( )-event_data. + client->popup_message_box( `event: test - ` && lv_row_title ). WHEN 'SELCHANGE'. DATA(lt_sel) = t_tab. DELETE lt_sel WHERE selected = abap_false. - client->popup_message_box( `go to details for item ` && lt_sel[ 1 ]-title ). + client->popup_message_box( `event: selection change -` && lt_sel[ 1 ]-title ). WHEN 'BACK'. @@ -92,7 +92,7 @@ CLASS z2ui5_cl_app_demo_48 IMPLEMENTATION. ( n = 'wrapping' v = `true` ) ( n = 'wrapCharLimit' v = `{WRAPCHARLIMIT}` ) ( n = 'selected' v = `{SELECTED}` ) - ( n = 'detailPress' v = client->_event( 'TEST' ) ) + ( n = 'detailPress' v = client->_event( val = 'TEST' data = `${TITLE}` ) ) ) ). client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ). diff --git a/src/z2ui5_cl_http_handler.clas.locals_imp.abap b/src/z2ui5_cl_http_handler.clas.locals_imp.abap index 4851ec6d..631f1bce 100644 --- a/src/z2ui5_cl_http_handler.clas.locals_imp.abap +++ b/src/z2ui5_cl_http_handler.clas.locals_imp.abap @@ -1720,7 +1720,11 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION. METHOD z2ui5_if_client~_event. + if data is INITIAL. result = `onEvent( { 'EVENT' : '` && val && `', 'METHOD' : 'UPDATE' } )`. + else. + result = `onEvent( { 'EVENT' : '` && val && `', 'METHOD' : 'UPDATE' } ,` && data && `)`. + endif. ENDMETHOD. diff --git a/src/z2ui5_if_client.intf.abap b/src/z2ui5_if_client.intf.abap index f159c7aa..159c8d34 100644 --- a/src/z2ui5_if_client.intf.abap +++ b/src/z2ui5_if_client.intf.abap @@ -91,6 +91,7 @@ INTERFACE z2ui5_if_client METHODS _event IMPORTING val TYPE clike + data type clike optional RETURNING VALUE(result) TYPE string.