@@ -20,6 +20,7 @@ CLASS z2ui5_cl_demo_app_197 DEFINITION
20
20
ty_t_table TYPE STANDARD TABLE OF ty_s_tab WITH EMPTY KEY .
21
21
22
22
DATA mt_table TYPE ty_t_table .
23
+ DATA mt_table_full TYPE ty_t_table .
23
24
DATA mt_table_products TYPE ty_t_table .
24
25
DATA check_initialized TYPE abap_bool .
25
26
DATA client TYPE REF TO z2ui5_if_client .
@@ -47,7 +48,7 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
47
48
navbuttonpress = client->_event( 'BACK' )
48
49
shownavbutton = xsdbool ( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ) ).
49
50
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` )
51
52
)->facet_filter_list( title = `Products` mode = `MultiSelect` items = client->_bind( mt_table_products ) listclose = client->_event( val = `FILTER`
52
53
* t_arg = VALUE #( ( `${$parameters>/selectedAll}` ) ) )
53
54
* t_arg = VALUE #( ( `$event.mParameters` ) ) )
@@ -87,14 +88,12 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
87
88
ENDIF .
88
89
89
90
CASE client->get( )-event.
91
+ WHEN 'RESET' .
92
+ mt_table = mt_table_full.
93
+ client->view_model_update( ).
90
94
WHEN 'FILTER' .
91
95
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 .
98
97
99
98
DATA (lt_arg ) = client->get( )-t_event_arg.
100
99
DATA (lv_json ) = lt_arg[ 1 ].
@@ -105,11 +104,24 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
105
104
106
105
LOOP AT l_members INTO DATA (l_member ).
107
106
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
+
108
110
ENDLOOP .
109
111
110
112
CATCH cx_root.
111
113
ENDTRY .
112
114
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
+
113
125
WHEN 'BACK' .
114
126
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
115
127
@@ -171,9 +183,10 @@ CLASS Z2UI5_CL_DEMO_APP_197 IMPLEMENTATION.
171
183
( product = 'table2' create_date = `01.01.2023` create_by = `Julia` storage_location = `AREA_001` quantity = 110 )
172
184
).
173
185
174
- mt_table_products = mt_table.
186
+ SORT mt_table BY product.
187
+ mt_table_full = mt_table.
175
188
176
- SORT mt_table_products BY product .
189
+ mt_table_products = mt_table .
177
190
178
191
DELETE ADJACENT DUPLICATES FROM mt_table_products COMPARING product.
179
192
0 commit comments