@@ -20,6 +20,7 @@ CLASS z2ui5_cl_demo_app_197 DEFINITION
2020 ty_t_table TYPE STANDARD TABLE OF ty_s_tab WITH EMPTY KEY .
2121
2222 DATA mt_table TYPE ty_t_table .
23+ DATA mt_table_full TYPE ty_t_table .
2324 DATA mt_table_products TYPE ty_t_table .
2425 DATA check_initialized TYPE abap_bool .
2526 DATA client TYPE REF TO z2ui5_if_client .
@@ -47,7 +48,7 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
4748 navbuttonpress = client->_event( 'BACK' )
4849 shownavbutton = xsdbool ( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ).
4950
50- DATA (facet ) = page->facet_filter( id = `idFacetFilter` type = `Light` showpersonalization = abap_true showreset = abap_true
51+ DATA (facet ) = page->facet_filter( id = `idFacetFilter` type = `Light` showpersonalization = abap_true showreset = abap_true reset = client->_event( val = `RESET` )
5152 )->facet_filter_list( title = `Products` mode = `MultiSelect` items = client->_bind( mt_table_products ) listclose = client->_event( val = `FILTER`
5253* t_arg = VALUE #( ( `${$parameters>/selectedAll}` ) ) )
5354* t_arg = VALUE #( ( `$event.mParameters` ) ) )
@@ -87,14 +88,12 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
8788 ENDIF .
8889
8990 CASE client->get( )-event.
91+ WHEN 'RESET' .
92+ mt_table = mt_table_full.
93+ client->view_model_update( ).
9094 WHEN 'FILTER' .
9195
92- TYPES : BEGIN OF ty_t_arg,
93- mProperties TYPE string ,
94- val TYPE string ,
95- END OF ty_t_arg.
96-
97- DATA mt_t_arg TYPE TABLE OF ty_t_arg.
96+ DATA lt_range TYPE RANGE OF string .
9897
9998 DATA (lt_arg ) = client->get( )-t_event_arg.
10099 DATA (lv_json ) = lt_arg[ 1 ].
@@ -105,11 +104,24 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
105104
106105 LOOP AT l_members INTO DATA (l_member ).
107106 DATA (lv_val ) = lo_json->get( '/' && l_member && '/mProperties/text' ).
107+
108+ APPEND VALUE #( sign = 'I' option = 'EQ' low = lv_val ) TO lt_range.
109+
108110 ENDLOOP .
109111
110112 CATCH cx_root.
111113 ENDTRY .
112114
115+ mt_table = mt_table_full.
116+
117+ LOOP AT mt_table INTO DATA (ls_tab ).
118+ IF ls_tab-product NOT IN lt_range.
119+ DELETE mt_table.
120+ ENDIF .
121+ ENDLOOP .
122+
123+ client->view_model_update( ).
124+
113125 WHEN 'BACK' .
114126 client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
115127
@@ -171,9 +183,10 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
171183 ( product = 'table2' create_date = `01.01.2023` create_by = `Julia` storage_location = `AREA_001` quantity = 110 )
172184 ).
173185
174- mt_table_products = mt_table.
186+ SORT mt_table BY product.
187+ mt_table_full = mt_table.
175188
176- SORT mt_table_products BY product .
189+ mt_table_products = mt_table .
177190
178191 DELETE ADJACENT DUPLICATES FROM mt_table_products COMPARING product.
179192
0 commit comments