Skip to content

Commit d7f0286

Browse files
facet filter - (event with objects - t_arg ) (#191)
* finish demo faucet filter control ( event with obj * fix overview * abaplint fix --------- Co-authored-by: oblomov <[email protected]>
1 parent 184363e commit d7f0286

File tree

2 files changed

+27
-13
lines changed

2 files changed

+27
-13
lines changed

src/z2ui5_cl_demo_app_000.clas.abap

+5-4
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@
2424
PROTECTED SECTION.
2525
PRIVATE SECTION.
2626

27-
ENDCLASS.
27+
ENDCLASS.
2828

2929

3030

31-
CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION.
31+
CLASS Z2UI5_CL_DEMO_APP_000 IMPLEMENTATION.
32+
3233

3334
METHOD z2ui5_if_app~main.
3435

@@ -159,7 +160,7 @@
159160
).
160161

161162
panel->generic_tile(
162-
header = 'Events with Objects'
163+
header = 'Facet Filteer - Events (t_arg) with Objects'
163164
subheader = ``
164165
press = client->_event( 'Z2UI5_CL_DEMO_APP_197' )
165166
mode = 'LineMode'
@@ -1454,4 +1455,4 @@
14541455
client->view_display( page->stringify( ) ).
14551456

14561457
ENDMETHOD.
1457-
ENDCLASS.
1458+
ENDCLASS.

src/z2ui5_cl_demo_app_197.clas.abap

+22-9
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)