1- CLASS Z2UI5_CL_DEMO_APP_099 DEFINITION
1+ CLASS z2ui5_cl_demo_app_099 DEFINITION
22 PUBLIC
33 CREATE PUBLIC .
44
55 PUBLIC SECTION .
66
7- INTERFACES Z2UI5_if_app .
7+ INTERFACES if_serializable_object .
8+ INTERFACES z2ui5_if_app .
89
910 TYPES :
1011 BEGIN OF ty_row,
@@ -14,40 +15,39 @@ CLASS Z2UI5_CL_DEMO_APP_099 DEFINITION
1415 icon TYPE string ,
1516 info TYPE string ,
1617 selected TYPE abap_bool ,
17- END OF ty_row.
18-
19- DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY .
20-
18+ END OF ty_row .
2119 TYPES :
2220 BEGIN OF ty_sort,
2321 text TYPE string ,
2422 key TYPE string ,
2523 selected TYPE abap_bool ,
26- END OF ty_sort.
27-
28- DATA t_tab_sort TYPE STANDARD TABLE OF ty_sort WITH EMPTY KEY .
29- DATA t_tab_group TYPE STANDARD TABLE OF ty_sort WITH EMPTY KEY .
30- DATA t_tab_filter_title TYPE STANDARD TABLE OF ty_sort WITH EMPTY KEY .
31-
32- DATA mv_sorter_group TYPE string .
33- DATA mv_filter TYPE string .
34-
35- DATA mv_sort_descending TYPE abap_bool .
36- DATA mv_group_descending TYPE abap_bool .
37- DATA mv_group_desc_str TYPE string VALUE `false` .
38-
24+ END OF ty_sort .
25+
26+ DATA :
27+ t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY .
28+ DATA :
29+ t_tab_sort TYPE STANDARD TABLE OF ty_sort WITH EMPTY KEY .
30+ DATA :
31+ t_tab_group TYPE STANDARD TABLE OF ty_sort WITH EMPTY KEY .
32+ DATA :
33+ t_tab_filter TYPE STANDARD TABLE OF ty_sort WITH EMPTY KEY .
34+ DATA mv_sorter_group TYPE string .
35+ DATA mv_filter TYPE string .
36+ DATA mv_sort_descending TYPE abap_bool .
37+ DATA mv_group_descending TYPE abap_bool .
38+ DATA mv_group_desc_str TYPE string VALUE `false` ##NO_TEXT .
3939 PROTECTED SECTION .
4040
41- DATA client TYPE REF TO Z2UI5_if_client .
41+ DATA client TYPE REF TO z2ui5_if_client .
4242 DATA check_initialized TYPE abap_bool .
4343
44- METHODS Z2UI5_set_data .
45- METHODS Z2UI5_view_display .
46- METHODS Z2UI5_view_sort_popup .
47- METHODS Z2UI5_view_filter_popup .
48- METHODS Z2UI5_view_group_popup .
49- METHODS Z2UI5_view_settings_popup .
50- METHODS Z2UI5_on_event .
44+ METHODS z2ui5_set_data .
45+ METHODS z2ui5_view_display .
46+ METHODS z2ui5_view_sort_popup .
47+ METHODS z2ui5_view_filter_popup .
48+ METHODS z2ui5_view_group_popup .
49+ METHODS z2ui5_view_settings_popup .
50+ METHODS z2ui5_on_event .
5151
5252
5353 PRIVATE SECTION .
@@ -58,37 +58,37 @@ ENDCLASS.
5858CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION .
5959
6060
61- METHOD Z2UI5_if_app ~main .
61+ METHOD z2ui5_if_app ~main .
6262
6363 me ->client = client .
6464
6565 IF check_initialized = abap_false .
6666 check_initialized = abap_true .
6767
68- Z2UI5_set_data ( ).
68+ z2ui5_set_data ( ).
6969
70- Z2UI5_view_display ( ).
70+ z2ui5_view_display ( ).
7171 RETURN .
7272 ENDIF .
7373
74- Z2UI5_on_event ( ).
74+ z2ui5_on_event ( ).
7575
7676 ENDMETHOD .
7777
7878
79- METHOD Z2UI5_on_event .
79+ METHOD z2ui5_on_event .
8080
8181 CASE client->get( )-event.
8282 WHEN 'BACK' .
8383 client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
8484 WHEN 'ALL' .
85- Z2UI5_view_settings_popup ( ).
85+ z2ui5_view_settings_popup ( ).
8686 WHEN 'SORT' .
87- Z2UI5_view_sort_popup ( ).
87+ z2ui5_view_sort_popup ( ).
8888 WHEN 'FILTER' .
89- Z2UI5_view_filter_popup ( ).
89+ z2ui5_view_filter_popup ( ).
9090 WHEN 'GROUP' .
91- Z2UI5_view_group_popup ( ).
91+ z2ui5_view_group_popup ( ).
9292 WHEN 'CONFIRM_SORT' .
9393 DATA (lt_arg ) = client->get( )-t_event_arg.
9494
@@ -130,7 +130,7 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
130130 mv_filter = mv_filter+0 (mv_filter_len).
131131
132132
133- Z2UI5_view_display ( ).
133+ z2ui5_view_display ( ).
134134
135135 ENDIF .
136136
@@ -152,9 +152,18 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
152152 mv_sorter_group = group_field.
153153 TRANSLATE mv_sorter_group TO UPPER CASE .
154154
155+ ELSE .
156+
157+ IF mv_group_descending = abap_true .
158+ SORT t_tab BY (group_field) DESCENDING .
159+ ELSE .
160+ SORT t_tab BY (group_field) ASCENDING .
161+ ENDIF .
162+
163+ CLEAR mv_sorter_group.
155164 ENDIF .
156165
157- Z2UI5_view_display ( ).
166+ z2ui5_view_display ( ).
158167
159168 ENDIF .
160169
@@ -164,7 +173,7 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
164173 ENDMETHOD .
165174
166175
167- METHOD Z2UI5_set_data .
176+ METHOD z2ui5_set_data .
168177
169178 t_tab = VALUE #(
170179 ( title = 'row_01' info = 'completed' descr = 'this is a description' icon = 'sap-icon://account' )
@@ -184,15 +193,16 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
184193 ( text = `Info` key = `info` )
185194 ( text = `Description` key = `descr` ) ).
186195
187- t_tab_filter_title = VALUE #(
188- ( text = `Info` key = `Completed` )
189- ( text = `Info` key = `Incompleted` ) ).
196+ t_tab_filter = VALUE #(
197+ ( text = `Title` key = `Title` )
198+ ( text = `Descr` key = `Descr` )
199+ ( text = `Info` key = `Info` ) ).
190200
191201
192202 ENDMETHOD .
193203
194204
195- METHOD Z2UI5_view_display .
205+ METHOD z2ui5_view_display .
196206
197207 DATA (view ) = z2ui5_cl_xml_view=>factory( ).
198208 DATA (page ) = view->shell(
@@ -241,14 +251,14 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
241251 ENDMETHOD .
242252
243253
244- METHOD Z2UI5_view_filter_popup .
254+ METHOD z2ui5_view_filter_popup .
245255
246- DATA (popup_filter ) = Z2UI5_cl_xml_view =>factory_popup( ).
256+ DATA (popup_filter ) = z2ui5_cl_xml_view =>factory_popup( ).
247257
248- DATA (filter_view ) = popup_filter->view_settings_dialog( filteritems = client->_bind_edit( t_tab_filter_title )
258+ DATA (filter_view ) = popup_filter->view_settings_dialog( filteritems = client->_bind_edit( t_tab_filter )
249259 confirm = client->_event( val = `CONFIRM_FILTER` t_arg = VALUE #( ( `${$parameters>/filterString}` ) ) )
250260 )->filter_items(
251- )->view_settings_filter_item( text = `Info` key = `INFO` multiselect = abap_true
261+ )->view_settings_filter_item( multiselect = abap_true text = `{TEXT}` key = `{KEY}`
252262 )->items(
253263 )->view_settings_item( text = `{TEXT}` key = `{KEY}` )->get_parent(
254264* )->view_settings_item( text = `Completed` key = `Completed` )->get_parent(
@@ -261,15 +271,14 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
261271 ENDMETHOD .
262272
263273
264- METHOD Z2UI5_view_group_popup .
274+ METHOD z2ui5_view_group_popup .
265275
266- DATA (popup_group ) = Z2UI5_cl_xml_view =>factory_popup( ).
276+ DATA (popup_group ) = z2ui5_cl_xml_view =>factory_popup( ).
267277
268278 DATA (group_view ) = popup_group->view_settings_dialog( confirm = client->_event( val = `CONFIRM_GROUP` t_arg = VALUE #( ( `${$parameters>/groupItem/mProperties/key}` ) ) )
269279 reset = client->_event( `RESET_GROUP` )
270280 groupdescending = client->_bind_edit( mv_group_descending )
271281 groupitems = client->_bind_edit( t_tab_group )
272- filteritems = client->_bind_edit( t_tab_filter_title )
273282 )->group_items(
274283 )->view_settings_item( text = `{TEXT}` key = `{KEY}` selected = `{SELECTED}`
275284 ).
@@ -279,19 +288,20 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
279288 ENDMETHOD .
280289
281290
282- METHOD Z2UI5_view_settings_popup .
283- DATA (popup_settings ) = Z2UI5_cl_xml_view =>factory_popup( ).
291+ METHOD z2ui5_view_settings_popup .
292+ DATA (popup_settings ) = z2ui5_cl_xml_view =>factory_popup( ).
284293
285294 popup_settings = popup_settings->view_settings_dialog(
286295 confirm = client->_event( 'ALL_EVENT' )
287296 sortitems = client->_bind_edit( t_tab_sort )
288297 groupitems = client->_bind_edit( t_tab_group )
298+ filteritems = client->_bind_edit( t_tab_filter )
289299 )->sort_items(
290300 )->view_settings_item( text = `{TEXT}` key = `{KEY}` selected = `{SELECTED}` )->get_parent( )->get_parent(
291301 )->group_items(
292302 )->view_settings_item( text = `{TEXT}` key = `{KEY}` selected = `{SELECTED}` )->get_parent( )->get_parent(
293303 )->filter_items(
294- )->view_settings_filter_item( text = `Info ` key = `INFO ` multiselect = abap_true
304+ )->view_settings_filter_item( text = `{TEXT} ` key = `{KEY} ` multiselect = abap_true
295305 )->items(
296306 )->view_settings_item( text = `{TEXT}` key = `{KEY}` ).
297307
@@ -300,9 +310,9 @@ CLASS Z2UI5_CL_DEMO_APP_099 IMPLEMENTATION.
300310 ENDMETHOD .
301311
302312
303- METHOD Z2UI5_view_sort_popup .
313+ METHOD z2ui5_view_sort_popup .
304314
305- DATA (popup_sort ) = Z2UI5_cl_xml_view =>factory_popup( ).
315+ DATA (popup_sort ) = z2ui5_cl_xml_view =>factory_popup( ).
306316
307317 DATA (sort_view ) = popup_sort->view_settings_dialog(
308318 confirm = client->_event( val = `CONFIRM_SORT` t_arg = VALUE #( ( `${$parameters>/sortItem/mProperties/key}` ) ) )
0 commit comments