@@ -30,21 +30,23 @@ CREATE PUBLIC .
30
30
DATA mv_search_value TYPE string .
31
31
DATA mt_table TYPE ty_t_table .
32
32
DATA lv_selkz TYPE abap_bool .
33
-
33
+ DATA mv_check_active TYPE abap_bool .
34
34
DATA :
35
35
BEGIN OF screen ,
36
36
progress_value TYPE string VALUE '0' ,
37
37
display_value TYPE string VALUE '' ,
38
38
END OF screen .
39
+
40
+ DATA mv_percent TYPE i .
41
+ DATA mv_check_enabled TYPE abap_bool .
39
42
PROTECTED SECTION .
40
43
41
44
DATA client TYPE REF TO z2ui5_if_client.
42
45
DATA check_initialized TYPE abap_bool .
43
46
47
+
44
48
METHODS z2ui5_on_init.
45
49
METHODS z2ui5_on_event.
46
- METHODS z2ui5_set_search.
47
- METHODS z2ui5_set_data.
48
50
PRIVATE SECTION .
49
51
50
52
METHODS set_selkz
@@ -86,46 +88,24 @@ CLASS z2ui5_cl_demo_app_064 IMPLEMENTATION.
86
88
DATA ls_arg TYPE string .
87
89
88
90
CASE client->get( )-event.
89
- WHEN 'BUTTON_SEARCH' OR 'BUTTON_START' .
90
- client->message_toast_display( 'Search Entries' ).
91
- z2ui5_set_data( ).
92
- z2ui5_set_search( ).
93
- client->view_model_update( ).
94
- WHEN 'SORT' .
95
-
96
- lt_arg = client->get( )-t_event_arg.
97
- client->message_toast_display( 'Event SORT' ).
98
- WHEN 'FILTER' .
99
- lt_arg = client->get( )-t_event_arg.
100
- client->message_toast_display( 'Event FILTER' ).
101
- WHEN 'SELKZ' .
102
- client->message_toast_display( | 'Event SELKZ' { lv_selkz } | ).
103
- set_selkz( lv_selkz ).
104
- client->view_model_update( ).
105
- WHEN 'CUSTOMFILTER' .
106
- lt_arg = client->get( )-t_event_arg.
107
- client->message_toast_display( 'Event CUSTOMFILTER' ).
108
91
WHEN 'BACK' .
109
92
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
110
- WHEN 'ROWEDIT' .
111
- lt_arg = client->get( )-t_event_arg.
112
93
113
- READ TABLE lt_arg INTO ls_arg INDEX 1 .
114
- IF sy -subrc = 0 .
115
- client->message_toast_display( | Event ROWEDIT Row Index { ls_arg } | ).
116
- ENDIF .
117
- WHEN 'ROW_ACTION_ITEM_NAVIGATION' .
118
- lt_arg = client->get( )-t_event_arg.
119
- READ TABLE lt_arg INTO ls_arg INDEX 1 .
120
- IF sy -subrc = 0 .
121
- client->message_toast_display( | Event ROW_ACTION_ITEM_NAVIGATION Row Index { ls_arg } | ).
122
- ENDIF .
123
- WHEN 'ROW_ACTION_ITEM_EDIT' .
124
- lt_arg = client->get( )-t_event_arg.
125
- READ TABLE lt_arg INTO ls_arg INDEX 1 .
126
- IF sy -subrc = 0 .
127
- client->message_toast_display( | Event ROW_ACTION_ITEM_EDIT Row Index { ls_arg } | ).
94
+ WHEN `LOAD` .
95
+
96
+ mv_percent = mv_percent + 25 .
97
+ mv_check_active = abap_true .
98
+ mv_check_enabled = abap_false .
99
+ IF mv_percent > 100 .
100
+ mv_percent = 0 .
101
+ mv_check_active = abap_false .
102
+ mv_check_enabled = abap_true .
128
103
ENDIF .
104
+
105
+ client->message_toast_display( `loaded` ).
106
+ WAIT UP TO 2 SECONDS .
107
+ client->view_model_update( ).
108
+
129
109
ENDCASE .
130
110
131
111
ENDMETHOD .
@@ -134,169 +114,41 @@ CLASS z2ui5_cl_demo_app_064 IMPLEMENTATION.
134
114
METHOD z2ui5_on_init .
135
115
136
116
DATA temp1 TYPE z2ui5_if_types=>ty_t_name_value.
137
- DATA temp2 LIKE LINE OF temp1.
138
117
DATA view TYPE REF TO z2ui5_cl_xml_view.
139
118
DATA page1 TYPE REF TO z2ui5_cl_xml_view.
140
119
DATA temp5 TYPE xsdboolean.
141
- DATA page TYPE REF TO z2ui5_cl_xml_view.
142
- DATA header_title TYPE REF TO z2ui5_cl_xml_view.
143
- DATA lo_box TYPE REF TO z2ui5_cl_xml_view.
144
- DATA cont TYPE REF TO z2ui5_cl_xml_view.
145
- DATA tab TYPE REF TO z2ui5_cl_xml_view.
146
- DATA lo_columns TYPE REF TO z2ui5_cl_xml_view.
147
- DATA temp3 TYPE string_table.
148
- DATA temp4 TYPE string_table.
149
120
CLEAR temp1.
150
121
122
+ mv_check_enabled = abap_true .
151
123
view = z2ui5_cl_xml_view=>factory( ).
152
124
125
+ view->_z2ui5( )->timer(
126
+ finished = client->_event( 'LOAD' )
127
+ checkactive = client->_bind( mv_check_active )
128
+ ).
129
+
153
130
temp5 = xsdbool ( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL ).
154
- page1 = view->page( id = 'page_main'
155
- title = 'abap2UI5 - sap.ui.table.Table Features '
131
+ page1 = view->shell( )-> page( id = 'page_main'
132
+ title = 'abap2UI5 - Progress Bar while Server Request '
156
133
navbuttonpress = client->_event( 'BACK' )
157
134
shownavbutton = temp5
158
135
class = 'sapUiContentPadding' ).
159
136
160
- page1->header_content(
161
- )->link(
162
- text = 'Source_Code' target = '_blank'
163
- ).
164
-
165
- */
166
137
DATA layout TYPE REF TO z2ui5_cl_xml_view.
167
138
layout = page1->vertical_layout( class = 'sapuicontentpadding' width = '100%' ).
168
139
layout->vbox( )->progress_indicator(
169
- percentvalue = client->_bind_edit( screen-progress_value )
140
+ percentvalue = client->_bind_edit( mv_percent )
170
141
displayvalue = client->_bind_edit( screen-display_value )
171
142
showvalue = abap_true
143
+ state = 'Success' ).
172
144
173
- state = 'Success'
174
- ).
175
- */
176
- page = page1->dynamic_page( headerexpanded = abap_true headerpinned = abap_true ).
177
-
178
- header_title = page->title( ns = 'f' )->get( )->dynamic_page_title( ).
179
- header_title->heading( ns = 'f' )->hbox( )->title( `Search Field` ).
180
- header_title->expanded_content( 'f' ).
181
- header_title->snapped_content( ns = 'f' ).
182
-
183
-
184
- lo_box = page->header( )->dynamic_page_header( pinnable = abap_true
185
- )->flex_box( alignitems = `Start` justifycontent = `SpaceBetween` )->flex_box( alignitems = `Start` ).
186
-
187
- lo_box->vbox( )->text( `Search` )->search_field(
188
- value = client->_bind_edit( mv_search_value )
189
- search = client->_event( 'BUTTON_SEARCH' )
190
- change = client->_event( 'BUTTON_SEARCH' )
191
- livechange = client->_event( 'BUTTON_SEARCH' )
192
- width = `17.5rem`
193
- id = `SEARCH` ).
194
- lo_box->get_parent( )->hbox( justifycontent = 'end' )->button(
195
- text = 'go'
196
- press = client->_event( 'button_start' )
197
- type = 'emphasized' ).
198
-
199
- cont = page->content( ns = 'f' ).
200
-
201
- tab = cont->ui_table( rows = client->_bind( val = mt_table )
202
- editable = abap_false
203
- alternaterowcolors = abap_true
204
- rowactioncount = '2'
205
- enablegrouping = abap_false
206
- fixedcolumncount = '1'
207
- selectionmode = 'None'
208
- sort = client->_event( 'SORT' )
209
- filter = client->_event( 'FILTER' )
210
- customfilter = client->_event( 'CUSTOMFILTER' ) ).
211
- tab->ui_extension( )->overflow_toolbar( )->title( text = 'Products' ).
212
-
213
- lo_columns = tab->ui_columns( ).
214
- lo_columns->ui_column( width = '4rem' )->checkbox( selected = client->_bind_edit( lv_selkz ) enabled = abap_true select = client->_event( val = 'SELKZ' ) )->ui_template( )->checkbox( selected = '{SELKZ}' ).
215
- lo_columns->ui_column( width = '5rem' sortproperty = 'ROW_ID'
216
- filterproperty = 'ROW_ID' )->text( text = 'index' )->ui_template( )->text( text = '{row_id}' ).
217
- lo_columns->ui_column( width = '11rem' sortproperty = 'CARRID' filterproperty = 'CARRID' )->text( text = 'carrid' )->ui_template( )->text( text = `{carrid}` ).
218
- lo_columns->ui_column( width = '11rem' sortproperty = 'CONNID' filterproperty = 'CONNID' )->text( text = 'connid' )->ui_template( )->text( text = `{connid}` ).
219
- lo_columns->ui_column( width = '11rem' sortproperty = 'FLDATE' filterproperty = 'FLDATE' )->text( text = 'fldate' )->ui_template( )->text( text = `{fldate}` ).
220
- lo_columns->ui_column( width = '11rem' sortproperty = 'PLANETYPE' filterproperty = 'PLANETYPE' )->text( text = 'planetype' )->ui_template( )->text( text = `{planetype}` ).
221
-
222
- CLEAR temp3.
223
- INSERT `${row_id}` INTO TABLE temp3.
224
-
225
- CLEAR temp4.
226
- INSERT `${row_id}` INTO TABLE temp4.
227
- lo_columns->get_parent( )->ui_row_action_template( )->ui_row_action(
228
- )->ui_row_action_item( type = 'Navigation'
229
- press = client->_event( val = 'ROW_ACTION_ITEM_NAVIGATION' t_arg = temp3 )
230
- )->get_parent( )->ui_row_action_item( icon = 'sap-icon://edit' text = 'Edit' press = client->_event( val = 'ROW_ACTION_ITEM_EDIT' t_arg = temp4 ) ).
231
-
232
- lo_columns->ui_column( width = '4rem' )->text( )->ui_template( )->overflow_toolbar( )->overflow_toolbar_button(
233
-
234
- icon = 'sap-icon://edit' type = 'Transparent' press = client->_event(
235
-
236
- val = `rowedit` t_arg = VALUE #( ( `${row_id}` ) ) ) ).
145
+ layout->button(
146
+ text = `Load`
147
+ press = client->_event( 'LOAD' )
148
+ enabled = client->_bind( mv_check_enabled ) ).
237
149
238
150
client->view_display( view->stringify( ) ).
239
- ENDMETHOD .
240
151
241
- METHOD z2ui5_set_data .
242
-
243
- * DATA temp5 TYPE ty_t_table.
244
- * DATA temp6 LIKE LINE OF temp5.
245
- * CLEAR temp5.
246
- *
247
- **/ fetch 1
248
- * SELECT * UP TO 10 ROWS APPENDING CORRESPONDING FIELDS OF TABLE temp5 FROM sflight.
249
- * screen-progress_value = 25.
250
- * screen-display_value = 'fetch 1'.
251
- * WAIT UP TO 2 SECONDS.
252
- **/ fetch 2
253
- * SELECT * UP TO 10 ROWS APPENDING CORRESPONDING FIELDS OF TABLE temp5 FROM sflight.
254
- * screen-progress_value = 50.
255
- * screen-display_value = 'fetch 2'.
256
- * WAIT UP TO 2 SECONDS.
257
- **/ fetch 3
258
- * SELECT * UP TO 10 ROWS APPENDING CORRESPONDING FIELDS OF TABLE temp5 FROM sflight.
259
- * screen-progress_value = 75.
260
- * screen-display_value = 'fetch 3'.
261
- * WAIT UP TO 2 SECONDS.
262
- **/ fetch 4
263
- * SELECT * UP TO 10 ROWS APPENDING CORRESPONDING FIELDS OF TABLE temp5 FROM sflight.
264
- * screen-progress_value = 100.
265
- * screen-display_value = 'fetch 4'.
266
- * WAIT UP TO 2 SECONDS.
267
- *
268
- * mt_table = temp5.
269
152
ENDMETHOD .
270
153
271
- METHOD z2ui5_set_search .
272
- DATA temp7 LIKE LINE OF mt_table.
273
- DATA lr_row LIKE REF TO temp7.
274
- DATA lv_row TYPE string .
275
- DATA lv_index TYPE i .
276
- FIELD-SYMBOLS <field> TYPE any .
277
-
278
- IF mv_search_value IS NOT INITIAL .
279
-
280
- LOOP AT mt_table REFERENCE INTO lr_row.
281
-
282
- lv_row = `` .
283
-
284
- lv_index = 1 .
285
- DO .
286
-
287
- ASSIGN COMPONENT lv_index OF STRUCTURE lr_row->* TO <field> .
288
- IF sy -subrc <> 0 .
289
- EXIT .
290
- ENDIF .
291
- lv_row = lv_row && <field> .
292
- lv_index = lv_index + 1 .
293
- ENDDO .
294
-
295
- IF lv_row NS mv_search_value.
296
- DELETE mt_table.
297
- ENDIF .
298
- ENDLOOP .
299
- ENDIF .
300
-
301
- ENDMETHOD .
302
154
ENDCLASS .
0 commit comments