Skip to content

Commit 33fa4ba

Browse files
authored
demo 186 - download b64 file (#157)
1 parent e417b88 commit 33fa4ba

File tree

2 files changed

+130
-0
lines changed

2 files changed

+130
-0
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
class Z2UI5_CL_DEMO_APP_186 definition
2+
public
3+
final
4+
create public .
5+
6+
public section.
7+
8+
interfaces IF_SERIALIZABLE_OBJECT .
9+
interfaces Z2UI5_IF_APP .
10+
11+
data IS_INITIALIZED type BOOLEAN .
12+
data FILE_CONTENT_64 type STRING .
13+
data FILE_NAME type STRING .
14+
data MIME_TYPE type STRING .
15+
PROTECTED SECTION.
16+
PRIVATE SECTION.
17+
18+
DATA client TYPE REF TO z2ui5_if_client .
19+
20+
METHODS initialize .
21+
METHODS on_event .
22+
METHODS render_screen .
23+
ENDCLASS.
24+
25+
26+
27+
CLASS Z2UI5_CL_DEMO_APP_186 IMPLEMENTATION.
28+
29+
30+
METHOD initialize.
31+
32+
file_name = 'Default_File_Name.jpg'.
33+
mime_type = 'text/plain'.
34+
file_content_64 = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAA` &&
35+
`KYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIp` &&
36+
`QBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW` &&
37+
`0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpd` &&
38+
`mZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoeP` &&
39+
`PQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKc` &&
40+
`TNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jc` &&
41+
`W+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/` &&
42+
`JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3` &&
43+
`/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQj` &&
44+
`LYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII=`.
45+
46+
ENDMETHOD.
47+
48+
49+
METHOD on_event.
50+
51+
CASE client->get( )-event.
52+
53+
WHEN 'BUTTON_DOWNLOAD'.
54+
* client->message_toast_display( 'This should download the file' ).
55+
56+
* DATA(lv_func) = `sap.z2ui5downloadFile(` && `"` && file_content_64 && `","` && file_name && `"` && `)`.
57+
* DATA(lv_func) = `sap.z2ui5downloadFile(` && file_content_64 && `,` && file_name && `)`.
58+
59+
client->follow_up_action( val = client->_event_client( val = client->cs_event-download_b64_file t_arg = VALUE #( ( file_content_64 ) ( file_name ) ) ) ).
60+
61+
62+
WHEN 'BACK'.
63+
client->nav_app_leave( ).
64+
65+
ENDCASE.
66+
67+
ENDMETHOD.
68+
69+
70+
METHOD render_screen.
71+
72+
DATA lv_script TYPE string.
73+
74+
75+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
76+
77+
DATA(page) = view->shell(
78+
)->page(
79+
showheader = xsdbool( abap_false = client->get( )-check_launchpad_active )
80+
title = 'abap2UI5 - Download Base64 File'
81+
navbuttonpress = client->_event( 'BACK' )
82+
shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL )
83+
).
84+
85+
page->flex_box( width = `100%` height = `600px` alignitems = `Center` justifycontent = `SpaceAround`
86+
)->vbox( )->text( text = `Base64 String:`
87+
)->text_area( value = client->_bind_edit( file_content_64 ) rows = `20` width = `800px` wrapping = abap_true
88+
)->get_parent(
89+
)->vbox( justifycontent = `Center` alignitems = `Center`
90+
)->text( text = `fill filename:`
91+
)->input( value = client->_bind_edit( file_name ) class = `sapUiLargeMarginBottom` width = `15rem`
92+
)->button( type = 'Emphasized' text = 'Open Download Popup' press = client->_event( 'BUTTON_DOWNLOAD' ) ).
93+
94+
client->view_display( page->stringify( ) ).
95+
96+
ENDMETHOD.
97+
98+
99+
METHOD z2ui5_if_app~main.
100+
101+
me->client = client.
102+
103+
IF is_initialized = abap_false.
104+
105+
initialize( ).
106+
render_screen( ).
107+
is_initialized = abap_true.
108+
109+
ENDIF.
110+
111+
on_event( ).
112+
113+
ENDMETHOD.
114+
ENDCLASS.

src/z2ui5_cl_demo_app_186.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_DEMO_APP_186</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>download b64</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

0 commit comments

Comments
 (0)