11CLASS z2ui5_cl_demo_app_306 DEFINITION
22 PUBLIC
3- FINAL
43 CREATE PUBLIC .
54
65 PUBLIC SECTION .
@@ -36,17 +35,12 @@ CLASS z2ui5_cl_demo_app_306 DEFINITION
3635
3736 PROTECTED SECTION .
3837
39- METHODS view_display
40- IMPORTING
41- client TYPE REF TO z2ui5_if_client.
42-
43- METHODS edit
44- IMPORTING
45- client TYPE REF TO z2ui5_if_client.
38+ METHODS view_display.
39+ METHODS edit_image.
40+ METHODS ui5_callback.
4641
4742 DATA selected_picture TYPE ty_picture.
48-
49- PRIVATE SECTION .
43+ DATA client TYPE REF TO z2ui5_if_client.
5044
5145ENDCLASS .
5246
@@ -108,36 +102,29 @@ CLASS z2ui5_cl_demo_app_306 IMPLEMENTATION.
108102 page->button( text = 'Edit' icon = 'sap-icon://edit' press = client->_event( 'EDIT' ) ).
109103 ENDIF .
110104
111-
112- view->_generic( name = `script`
113- ns = `html`
114- )->_cc_plain_xml(
115- 'z2ui5.sendImage = () => { ' &&
116- ' const image = sap.ui.core.Fragment.byId("popupId", "imageEditor").getImagePngDataURL();' &&
117- ' z2ui5.oController.PopupDestroy();' && | \n| &&
118- ' z2ui5.oController.eB([`SAVE`],image);' &&
119- '}'
120- ).
121-
122105 client->view_display( view->stringify( ) ).
123106
124107 ENDMETHOD .
125108
126109
127110 METHOD z2ui5_if_app ~main .
128111
129- IF mv_check_init = abap_false .
130-
131- mv_check_init = abap_true .
112+ me ->client = client .
132113
114+ IF me ->z2ui5_if_app~check_initialized = abap_false .
133115 facing_modes = VALUE tt_combo( ( key = `` text = `` )
134116 ( key = `environment` text = `environment` )
135117 ( key = `user` text = `user` )
136118 ( key = `left` text = `left` )
137119 ( key = `right` text = `right` ) ).
138120
139- view_display( client ).
121+ view_display( ).
122+ ENDIF .
140123
124+ IF client->get( )-check_on_navigated = abap_true .
125+ ui5_callback( ).
126+ view_display( ).
127+ RETURN .
141128 ENDIF .
142129
143130
@@ -152,22 +139,11 @@ CLASS z2ui5_cl_demo_app_306 IMPLEMENTATION.
152139
153140 selected_picture = mt_picture_out[ selected = abap_true ].
154141 mv_pic_display = mt_picture[ selected_picture-id ]-data.
155- view_display( client ).
142+ view_display( ).
156143
157144 WHEN 'EDIT' .
158145
159- edit( client ).
160-
161- WHEN 'SAVE' .
162-
163- DATA (args ) = client->get( )-t_event_arg.
164-
165- ASSIGN mt_picture[ selected_picture-id ] TO FIELD-SYMBOL (<picture> ).
166- IF sy -subrc = 0 .
167- mv_pic_display = <picture> -data = args[ 1 ].
168- ENDIF .
169-
170- view_display( client ).
146+ edit_image( ).
171147
172148 WHEN 'BACK' .
173149
@@ -182,38 +158,29 @@ CLASS z2ui5_cl_demo_app_306 IMPLEMENTATION.
182158
183159 ENDMETHOD .
184160
185- METHOD edit .
186-
187- DATA (popup ) = z2ui5_cl_xml_view=>factory_popup(
188- )->dialog(
189- title = 'Edit Picture'
190- icon = 'sap-icon://edit'
191- contentheight = `80%`
192- contentwidth = `80%` ).
193-
194- popup->_generic(
195- name = 'ImageEditorContainer'
196- ns = 'ie'
197- )->_generic(
198- name = 'ImageEditor'
199- ns = 'ie'
200- t_prop = VALUE #(
201- ( n = `id` v = `imageEditor` )
202- ( n = `src` v = mv_pic_display ) ) ).
203-
204- popup->footer( )->overflow_toolbar(
205- )->button(
206- text = 'Cancel'
207- type = 'Reject'
208- press = client->_event_client( client->cs_event-popup_close )
209- )->toolbar_spacer(
210- )->button(
211- text = 'Save'
212- type = 'Emphasized'
213- press = client->_event_client( val = `Z2UI5` t_arg = VALUE #( ( `sendImage` ) ) ) ).
214-
215- client->popup_display( popup->stringify( ) ).
161+ METHOD edit_image .
162+
163+ client->nav_app_call( z2ui5_cl_pop_image_editor=>factory( mv_pic_display ) ).
164+
165+ ENDMETHOD .
166+
167+
168+ METHOD ui5_callback .
169+
170+ TRY .
171+ DATA (lo_prev ) = client->get_app( client->get( )-s_draft-id_prev_app ).
172+ DATA (result ) = CAST z2ui5_cl_pop_image_editor( lo_prev )->result( ).
173+
174+ IF result-check_confirmed = abap_true .
175+ mv_pic_display = result-image.
176+ ASSIGN mt_picture[ selected_picture-id ] TO FIELD-SYMBOL (<picture> ).
177+ IF sy -subrc = 0 .
178+ <picture> -data = mv_pic_display.
179+ ENDIF .
180+ ENDIF .
216181
182+ CATCH cx_root.
183+ ENDTRY .
217184 ENDMETHOD .
218185
219186ENDCLASS .
0 commit comments