mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 20:16:24 +08:00
parent
8309642e55
commit
53992d94d8
|
@ -110,6 +110,9 @@ CLASS z2ui5_cl_app_demo_35 IMPLEMENTATION.
|
||||||
navbuttonpress = client->_event( 'BACK' )
|
navbuttonpress = client->_event( 'BACK' )
|
||||||
shownavbutton = abap_true
|
shownavbutton = abap_true
|
||||||
)->header_content(
|
)->header_content(
|
||||||
|
)->link(
|
||||||
|
text = 'Demo' target = '_blank'
|
||||||
|
href = 'https://twitter.com/OblomovDev/status/1656904560953237508'
|
||||||
)->link(
|
)->link(
|
||||||
text = 'Source_Code' target = '_blank'
|
text = 'Source_Code' target = '_blank'
|
||||||
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
href = z2ui5_cl_xml_view=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||||
|
|
|
@ -74,16 +74,16 @@ CLASS z2ui5_cl_app_demo_49 DEFINITION PUBLIC.
|
||||||
|
|
||||||
DATA mt_sort TYPE STANDARD TABLE OF ty_S_sort.
|
DATA mt_sort TYPE STANDARD TABLE OF ty_S_sort.
|
||||||
|
|
||||||
data:
|
DATA:
|
||||||
begin of ms_layout,
|
BEGIN OF ms_layout,
|
||||||
BEGIN OF s_table,
|
BEGIN OF s_table,
|
||||||
check_zebra TYPE abap_bool,
|
check_zebra TYPE abap_bool,
|
||||||
title TYPE string,
|
title TYPE string,
|
||||||
sticky_header TYPE string,
|
sticky_header TYPE string,
|
||||||
selmode TYPE string,
|
selmode TYPE string,
|
||||||
END OF s_table,
|
END OF s_table,
|
||||||
t_filter TYPE STANDARD TABLE OF ty_S_filter,
|
t_filter TYPE STANDARD TABLE OF ty_S_filter,
|
||||||
end of ms_layout.
|
END OF ms_layout.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF s_combobox,
|
BEGIN OF s_combobox,
|
||||||
|
@ -93,6 +93,12 @@ data:
|
||||||
|
|
||||||
TYPES ty_t_combo TYPE STANDARD TABLE OF s_combobox WITH EMPTY KEY.
|
TYPES ty_t_combo TYPE STANDARD TABLE OF s_combobox WITH EMPTY KEY.
|
||||||
|
|
||||||
|
CLASS-METHODS encode_base64
|
||||||
|
IMPORTING
|
||||||
|
val TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
DATA client TYPE REF TO z2ui5_if_client.
|
DATA client TYPE REF TO z2ui5_if_client.
|
||||||
|
@ -160,13 +166,13 @@ CLASS z2ui5_cl_app_demo_49 IMPLEMENTATION.
|
||||||
WHEN 'BUTTON_CUSTOM'.
|
WHEN 'BUTTON_CUSTOM'.
|
||||||
client->popup_message_box( `custom action called` ).
|
client->popup_message_box( `custom action called` ).
|
||||||
|
|
||||||
when 'BUTTON_START'.
|
WHEN 'BUTTON_START'.
|
||||||
|
|
||||||
SELECT FROM z2ui5_t_draft
|
SELECT FROM z2ui5_t_draft
|
||||||
FIELDS uuid, uuid_prev, timestampl, uname
|
FIELDS uuid, uuid_prev, timestampl, uname
|
||||||
INTO CORRESPONDING FIELDS OF TABLE @mt_table
|
INTO CORRESPONDING FIELDS OF TABLE @mt_table
|
||||||
UP TO 50 ROWS.
|
UP TO 50 ROWS.
|
||||||
ms_view-t_tab = CORRESPONDING #( mt_table ).
|
ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
|
|
||||||
WHEN 'BUTTON_DOWNLOAD'.
|
WHEN 'BUTTON_DOWNLOAD'.
|
||||||
mv_check_download_csv = abap_true.
|
mv_check_download_csv = abap_true.
|
||||||
|
@ -249,10 +255,10 @@ ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
init_table_output( ).
|
init_table_output( ).
|
||||||
|
|
||||||
ms_layout-s_table-selmode = 'MultiSelect'.
|
ms_layout-s_table-selmode = 'MultiSelect'.
|
||||||
ms_layout-s_table-check_zebra = abap_true.
|
ms_layout-s_table-check_zebra = abap_true.
|
||||||
ms_view-t_tab = CORRESPONDING #( mt_table ).
|
ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
ms_layout-s_table-sticky_header = `HeaderToolbar,InfoToolbar,ColumnHeaders`.
|
ms_layout-s_table-sticky_header = `HeaderToolbar,InfoToolbar,ColumnHeaders`.
|
||||||
ms_layout-s_table-title = `Drafts`.
|
ms_layout-s_table-title = `Drafts`.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -277,7 +283,7 @@ ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
|
|
||||||
METHOD init_table_output.
|
METHOD init_table_output.
|
||||||
|
|
||||||
" CLEAR ms_layout-s_table.
|
" CLEAR ms_layout-s_table.
|
||||||
CLEAR mt_cols.
|
CLEAR mt_cols.
|
||||||
CLEAR mt_sort.
|
CLEAR mt_sort.
|
||||||
|
|
||||||
|
@ -345,25 +351,25 @@ ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
header_title->snapped_content( ns = 'f'
|
header_title->snapped_content( ns = 'f'
|
||||||
)->label( text = 'Drafts of abap2UI5' ).
|
)->label( text = 'Drafts of abap2UI5' ).
|
||||||
|
|
||||||
header_title->actions( ns = 'f' )->overflow_toolbar(
|
header_title->actions( ns = 'f' )->overflow_toolbar(
|
||||||
)->button( text = `Layout` type = `Emphasized`
|
)->button( text = `Layout` type = `Emphasized`
|
||||||
)->button( text = `Start` press = client->_event( `BUTTON_START` ) type = `Emphasized`
|
)->button( text = `Start` press = client->_event( `BUTTON_START` ) type = `Emphasized`
|
||||||
).
|
).
|
||||||
|
|
||||||
data(lo_box) = page->header( )->dynamic_page_header( pinnable = abap_true
|
DATA(lo_box) = page->header( )->dynamic_page_header( pinnable = abap_true
|
||||||
)->flex_box( alignItems = `Start` justifyContent = `SpaceBetween` ).
|
)->flex_box( alignItems = `Start` justifyContent = `SpaceBetween` ).
|
||||||
|
|
||||||
|
|
||||||
data(lt_filter) = ms_layout-t_filter.
|
DATA(lt_filter) = ms_layout-t_filter.
|
||||||
DELETE lt_filter where selkz = abap_false.
|
DELETE lt_filter WHERE selkz = abap_false.
|
||||||
|
|
||||||
loop at lt_filter REFERENCE INTO data(lr_filter)
|
LOOP AT lt_filter REFERENCE INTO DATA(lr_filter)
|
||||||
where selkz = abap_true.
|
WHERE selkz = abap_true.
|
||||||
lo_box->input( description = lr_filter->name ).
|
lo_box->input( description = lr_filter->name ).
|
||||||
endloop.
|
ENDLOOP.
|
||||||
|
|
||||||
|
|
||||||
lo_box->button( text = `Change Filter (` && shift_right( conv string( lines( lt_filter ) ) ) && `)` press = client->_event( `POPUP_FILTER` ) ).
|
lo_box->button( text = `Change Filter (` && shift_right( CONV string( lines( lt_filter ) ) ) && `)` press = client->_event( `POPUP_FILTER` ) ).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -702,7 +708,9 @@ ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
lv_row = lv_row && cl_abap_char_utilities=>cr_lf.
|
lv_row = lv_row && cl_abap_char_utilities=>cr_lf.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
data(lv_bas64enc) = cl_web_http_utility=>encode_base64( lv_row ).
|
DATA lv_bas64enc TYPE string.
|
||||||
|
|
||||||
|
lv_bas64enc = encode_base64( lv_row ).
|
||||||
|
|
||||||
i_view->zz_plain( `<html:iframe src="data:text/csv;base64,` && lv_bas64enc && `" hidden="hidden" />`).
|
i_view->zz_plain( `<html:iframe src="data:text/csv;base64,` && lv_bas64enc && `" hidden="hidden" />`).
|
||||||
|
|
||||||
|
@ -710,4 +718,27 @@ ms_view-t_tab = CORRESPONDING #( mt_table ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD encode_base64.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
CALL METHOD ('CL_WEB_HTTP_UTILITY')=>encode_base64
|
||||||
|
EXPORTING
|
||||||
|
unencoded = val
|
||||||
|
RECEIVING
|
||||||
|
encoded = result.
|
||||||
|
|
||||||
|
CATCH cx_sy_dyn_call_illegal_class.
|
||||||
|
|
||||||
|
DATA(classname) = 'CL_HTTP_UTILITY'.
|
||||||
|
CALL METHOD (classname)=>encode_base64
|
||||||
|
EXPORTING
|
||||||
|
unencoded = val
|
||||||
|
RECEIVING
|
||||||
|
encoded = result.
|
||||||
|
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user