mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
bugfix gen reference (#159)
* fix shell * illustrated message * add messages and popups * fix geenric references
This commit is contained in:
parent
d0d52dd10c
commit
6a38857051
|
@ -93,7 +93,9 @@ CLASS z2ui5_cl_app_demo_00 IMPLEMENTATION.
|
|||
).
|
||||
|
||||
grid->simple_form( title = 'HowTo - Messages' layout = 'ResponsiveGridLayout' )->content( 'form'
|
||||
)->button( text = 'Messages (Toast, Box, Strip)' press = client->_event( 'z2ui5_cl_app_demo_08' )
|
||||
)->button( text = 'Toast, Box & Strip' press = client->_event( 'z2ui5_cl_app_demo_08' )
|
||||
)->button( text = 'Illustrated Message' press = client->_event( 'z2ui5_cl_app_demo_33' )
|
||||
)->button( text = 'T100 & bapiret popup' press = client->_event( 'z2ui5_cl_app_demo_34' )
|
||||
).
|
||||
|
||||
DATA(form) = page->grid( 'L9 M12 S12'
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_08</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>basic - messages</DESCRIPT>
|
||||
<DESCRIPT>messages - basic</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
|
|
|
@ -54,7 +54,7 @@ CLASS Z2UI5_CL_APP_DEMO_19 IMPLEMENTATION.
|
|||
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = z2ui5_cl_xml_view_helper=>factory(
|
||||
DATA(page) = z2ui5_cl_xml_view_helper=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Table with different Selection Modes'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
|
|
|
@ -54,10 +54,6 @@ CLASS z2ui5_cl_app_demo_21 DEFINITION PUBLIC.
|
|||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS view_popup_bal
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
METHODS view_popup_table
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
@ -115,10 +111,6 @@ CLASS Z2UI5_CL_APP_DEMO_21 IMPLEMENTATION.
|
|||
press = client->_event( 'POPUP_TO_INPUT' ) ).
|
||||
|
||||
grid->simple_form( 'Tables' )->content( 'form'
|
||||
)->label( '01'
|
||||
)->button(
|
||||
text = 'Show bapiret tab'
|
||||
press = client->_event( 'POPUP_BAL' )
|
||||
)->label( '02'
|
||||
)->button(
|
||||
text = 'Popup to select'
|
||||
|
@ -128,42 +120,6 @@ CLASS Z2UI5_CL_APP_DEMO_21 IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_bal.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view_helper=>factory(
|
||||
)->dialog( 'abap2ui5 - Popup Message Log'
|
||||
)->table( client->_bind( t_bapiret )
|
||||
)->columns(
|
||||
)->column( '5rem'
|
||||
)->text( 'Type' )->get_parent(
|
||||
)->column( '5rem'
|
||||
)->text( 'Number' )->get_parent(
|
||||
)->column( '5rem'
|
||||
)->text( 'ID' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Message' )->get_parent(
|
||||
)->get_parent(
|
||||
)->items(
|
||||
)->column_list_item(
|
||||
)->cells(
|
||||
)->text( '{TYPE}'
|
||||
)->text( '{NUMBER}'
|
||||
)->text( '{ID}'
|
||||
)->text( '{MESSAGE}'
|
||||
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'close'
|
||||
press = client->_event( 'POPUP_BAL_CLOSE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_decide.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view_helper=>factory(
|
||||
|
@ -393,8 +349,6 @@ CLASS Z2UI5_CL_APP_DEMO_21 IMPLEMENTATION.
|
|||
view_popup_textarea_size( client ).
|
||||
WHEN 'POPUP_TO_INPUT'.
|
||||
view_popup_input( client ).
|
||||
WHEN 'POPUP_BAL'.
|
||||
view_popup_bal( client ).
|
||||
WHEN 'POPUP_TABLE'.
|
||||
view_popup_table( client ).
|
||||
|
||||
|
|
45
src/00/z2ui5_cl_app_demo_33.clas.abap
Normal file
45
src/00/z2ui5_cl_app_demo_33.clas.abap
Normal file
|
@ -0,0 +1,45 @@
|
|||
CLASS z2ui5_cl_app_demo_33 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_app_demo_33 IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD z2ui5_if_app~controller.
|
||||
|
||||
CASE client->get( )-event.
|
||||
WHEN 'BUTTON_MESSAGE_BOX'.
|
||||
client->popup_message_box( 'this is a message box' ).
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
ENDCASE.
|
||||
|
||||
DATA(page) = z2ui5_cl_xml_view_helper=>factory( )->shell(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Messages'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank'
|
||||
href = z2ui5_cl_xml_view_helper=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
page->illustrated_message(
|
||||
illustrationtype = 'sapIllus-NoActivities'
|
||||
)->additional_content( )->button(
|
||||
text = 'information'
|
||||
press = client->_event( 'BUTTON_MESSAGE_BOX' ) ).
|
||||
|
||||
client->set_next( VALUE #( xml_main = page->get_root( )->xml_get( ) ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
16
src/00/z2ui5_cl_app_demo_33.clas.xml
Normal file
16
src/00/z2ui5_cl_app_demo_33.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_33</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>messages - illustrated</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
155
src/00/z2ui5_cl_app_demo_34.clas.abap
Normal file
155
src/00/z2ui5_cl_app_demo_34.clas.abap
Normal file
|
@ -0,0 +1,155 @@
|
|||
CLASS z2ui5_cl_app_demo_34 DEFINITION PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF ty_row,
|
||||
selkz TYPE abap_bool,
|
||||
title TYPE string,
|
||||
value TYPE string,
|
||||
descr TYPE string,
|
||||
icon TYPE string,
|
||||
info TYPE string,
|
||||
checkbox TYPE abap_bool,
|
||||
END OF ty_row.
|
||||
|
||||
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY.
|
||||
|
||||
DATA mv_textarea TYPE string.
|
||||
DATA mv_stretch_active TYPE abap_bool.
|
||||
|
||||
DATA:
|
||||
BEGIN OF ms_popup_input,
|
||||
value1 TYPE string,
|
||||
value2 TYPE string,
|
||||
check_is_active TYPE abap_bool,
|
||||
combo_key TYPE string,
|
||||
END OF ms_popup_input.
|
||||
|
||||
DATA t_bapiret TYPE bapirettab.
|
||||
|
||||
DATA check_initialized TYPE abap_bool.
|
||||
DATA mv_popup_name TYPE string.
|
||||
DATA mv_main_xml TYPE string.
|
||||
DATA mv_popup_xml TYPE string.
|
||||
|
||||
METHODS view_main
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
METHODS view_popup_bal
|
||||
IMPORTING
|
||||
client TYPE REF TO z2ui5_if_client.
|
||||
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS Z2UI5_CL_APP_DEMO_34 IMPLEMENTATION.
|
||||
|
||||
METHOD view_main.
|
||||
|
||||
DATA(page) = z2ui5_cl_xml_view_helper=>factory(
|
||||
)->page(
|
||||
title = 'abap2UI5 - Popups'
|
||||
navbuttonpress = client->_event( 'BACK' )
|
||||
shownavbutton = abap_true
|
||||
)->header_content(
|
||||
" )->link(
|
||||
" text = 'Demo' target = '_blank'
|
||||
" href = 'https://twitter.com/OblomovDev/status/1637163852264624139'
|
||||
)->link(
|
||||
text = 'Source_Code' target = '_blank' href = z2ui5_cl_xml_view_helper=>hlp_get_source_code_url( app = me get = client->get( ) )
|
||||
)->get_parent( ).
|
||||
|
||||
DATA(grid) = page->grid( 'L8 M12 S12' )->content( 'l' ).
|
||||
|
||||
grid->simple_form( 'Tables' )->content( 'form'
|
||||
)->label( '01'
|
||||
)->button(
|
||||
text = 'Show bapiret tab'
|
||||
press = client->_event( 'POPUP_BAL' )
|
||||
).
|
||||
|
||||
mv_main_xml = page->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD view_popup_bal.
|
||||
|
||||
DATA(popup) = z2ui5_cl_xml_view_helper=>factory(
|
||||
)->dialog( 'abap2ui5 - Popup Message Log'
|
||||
)->table( client->_bind( t_bapiret )
|
||||
)->columns(
|
||||
)->column( '5rem'
|
||||
)->text( 'Type' )->get_parent(
|
||||
)->column( '5rem'
|
||||
)->text( 'Number' )->get_parent(
|
||||
)->column( '5rem'
|
||||
)->text( 'ID' )->get_parent(
|
||||
)->column(
|
||||
)->text( 'Message' )->get_parent(
|
||||
)->get_parent(
|
||||
)->items(
|
||||
)->column_list_item(
|
||||
)->cells(
|
||||
)->text( '{TYPE}'
|
||||
)->text( '{NUMBER}'
|
||||
)->text( '{ID}'
|
||||
)->text( '{MESSAGE}'
|
||||
)->get_parent( )->get_parent( )->get_parent( )->get_parent(
|
||||
)->footer( )->overflow_toolbar(
|
||||
)->toolbar_spacer(
|
||||
)->button(
|
||||
text = 'close'
|
||||
press = client->_event( 'POPUP_BAL_CLOSE' )
|
||||
type = 'Emphasized' ).
|
||||
|
||||
mv_popup_xml = popup->get_root( )->xml_get( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD z2ui5_if_app~controller.
|
||||
|
||||
IF check_initialized = abap_false.
|
||||
check_initialized = abap_true.
|
||||
|
||||
t_bapiret = VALUE #(
|
||||
( message = 'An empty Report field causes an empty XML Message to be sent' type = 'E' id = 'MSG1' number = '001' )
|
||||
( message = 'Check was executed for wrong Scenario' type = 'E' id = 'MSG1' number = '002' )
|
||||
( message = 'Request was handled without errors' type = 'S' id = 'MSG1' number = '003' )
|
||||
( message = 'product activated' type = 'S' id = 'MSG4' number = '375' )
|
||||
( message = 'check the input values' type = 'W' id = 'MSG2' number = '375' )
|
||||
( message = 'product already in use' type = 'I' id = 'MSG2' number = '375' )
|
||||
).
|
||||
|
||||
ENDIF.
|
||||
|
||||
mv_popup_name = ''.
|
||||
|
||||
CASE client->get( )-event.
|
||||
|
||||
WHEN 'POPUP_BAL'.
|
||||
mv_popup_name = 'POPUP_BAL'.
|
||||
|
||||
WHEN 'BACK'.
|
||||
client->nav_app_leave( client->get_app( client->get( )-id_prev_app_stack ) ).
|
||||
|
||||
ENDCASE.
|
||||
|
||||
view_main( client ).
|
||||
|
||||
CASE mv_popup_name.
|
||||
WHEN 'POPUP_BAL'.
|
||||
view_popup_bal( client ).
|
||||
ENDCASE.
|
||||
|
||||
client->set_next( VALUE #( xml_main = mv_main_xml xml_popup = mv_popup_xml ) ).
|
||||
CLEAR: mv_main_xml, mv_popup_xml.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
16
src/00/z2ui5_cl_app_demo_34.clas.xml
Normal file
16
src/00/z2ui5_cl_app_demo_34.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>Z2UI5_CL_APP_DEMO_34</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>messages - t100 bapiret</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -29,7 +29,7 @@ CLASS z2ui5_cl_xml_view_helper DEFINITION
|
|||
|
||||
CLASS-METHODS hlp_get_source_code_url
|
||||
IMPORTING
|
||||
app TYPE ref to z2ui5_if_app
|
||||
app TYPE REF TO z2ui5_if_app
|
||||
get TYPE z2ui5_if_client=>ty_s_get
|
||||
RETURNING
|
||||
VALUE(result) TYPE string.
|
||||
|
@ -56,12 +56,24 @@ CLASS z2ui5_cl_xml_view_helper DEFINITION
|
|||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view_helper.
|
||||
|
||||
|
||||
METHODS Dynamic_Page_Header
|
||||
IMPORTING
|
||||
pinnable TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view_helper.
|
||||
|
||||
METHODS Illustrated_Message
|
||||
IMPORTING
|
||||
enableVerticalResponsiveness TYPE clike OPTIONAL
|
||||
illustrationType TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view_helper.
|
||||
|
||||
METHODS additional_Content
|
||||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_xml_view_helper.
|
||||
|
||||
METHODS flex_box
|
||||
IMPORTING
|
||||
class TYPE clike OPTIONAL
|
||||
|
@ -637,7 +649,7 @@ CLASS z2ui5_cl_xml_view_helper DEFINITION
|
|||
IMPORTING
|
||||
text TYPE clike OPTIONAL
|
||||
href TYPE clike OPTIONAL
|
||||
target type clike optional
|
||||
target TYPE clike OPTIONAL
|
||||
enabled TYPE clike OPTIONAL
|
||||
ns TYPE clike OPTIONAL
|
||||
RETURNING
|
||||
|
@ -2062,7 +2074,7 @@ CLASS z2ui5_cl_xml_view_helper IMPLEMENTATION.
|
|||
|
||||
METHOD title.
|
||||
|
||||
data(lv_name) = COND #( WHEN ns = 'f' THEN 'title' ELSE `Title` ).
|
||||
DATA(lv_name) = COND #( WHEN ns = 'f' THEN 'title' ELSE `Title` ).
|
||||
|
||||
result = me.
|
||||
_generic(
|
||||
|
@ -2302,13 +2314,33 @@ CLASS z2ui5_cl_xml_view_helper IMPLEMENTATION.
|
|||
|
||||
METHOD hlp_get_source_code_url.
|
||||
|
||||
DATA(lv_url) = get-t_req_header[ name = `referer` ]-value.
|
||||
SPLIT lv_url AT '?' INTO lv_url DATA(lv_dummy).
|
||||
DATA(lv_url) = get-t_req_header[ name = `referer` ]-value.
|
||||
SPLIT lv_url AT '?' INTO lv_url DATA(lv_dummy).
|
||||
|
||||
" result-url_app = lv_url && `?sap-client=` && sy-mandt && `&app=` && _=>get_classname_by_ref( mo_runtime->ms_db-o_app ).
|
||||
result = z2ui5_cl_http_handler=>client-t_header[ name = `origin` ]-value && `/sap/bc/adt/oo/classes/` && _=>get_classname_by_ref( app ) && `/source/main`.
|
||||
" result-url_app = lv_url && `?sap-client=` && sy-mandt && `&app=` && _=>get_classname_by_ref( mo_runtime->ms_db-o_app ).
|
||||
result = z2ui5_cl_http_handler=>client-t_header[ name = `origin` ]-value && `/sap/bc/adt/oo/classes/` && _=>get_classname_by_ref( app ) && `/source/main`.
|
||||
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD additional_content.
|
||||
|
||||
result = _generic(
|
||||
name = `additionalContent`
|
||||
|
||||
).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD illustrated_message.
|
||||
|
||||
result = _generic(
|
||||
name = `IllustratedMessage`
|
||||
t_prop = VALUE #(
|
||||
( n = `enableVerticalResponsiveness` v = enableVerticalResponsiveness )
|
||||
( n = `illustrationType` v = illustrationType )
|
||||
) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1645,7 +1645,9 @@ CLASS z2ui5_lcl_system_runtime IMPLEMENTATION.
|
|||
|
||||
IF check_gen_data = abap_true.
|
||||
TRY.
|
||||
DATA(lr_ref) = CAST data( lr_ref2->* ).
|
||||
FIELD-SYMBOLS <field> type any.
|
||||
assign lr_ref2->* to <field>.
|
||||
DATA(lr_ref) = CAST data( <field> ).
|
||||
IF lr_attri->gen_type IS INITIAL.
|
||||
DATA(lo_datadescr) = cl_abap_datadescr=>describe_by_data( lr_ref->* ).
|
||||
lr_attri->gen_type_kind = lo_datadescr->type_kind.
|
||||
|
|
Loading…
Reference in New Issue
Block a user