|
| 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. |
0 commit comments