* update

* view update

* update

* update

* abaplint fixes

* update
This commit is contained in:
oblomov 2023-06-28 18:18:52 +02:00 committed by GitHub
parent 760150a1d6
commit 228c8d6e6b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 131 additions and 119 deletions

View File

@ -754,13 +754,10 @@ CLASS z2ui5_lcl_fw_app DEFINITION.
DATA:
BEGIN OF ms_error,
x_error TYPE REF TO cx_root,
classname TYPE string,
kind TYPE string,
END OF ms_error.
DATA:
BEGIN OF ms_home,
is_initialized TYPE abap_bool,
btn_text TYPE string,
btn_event_id TYPE string,
btn_icon TYPE string,
@ -777,15 +774,14 @@ CLASS z2ui5_lcl_fw_app DEFINITION.
VALUE(result) TYPE REF TO z2ui5_lcl_fw_app.
DATA mv_is_initialized TYPE abap_bool.
DATA mv_view_name TYPE string.
DATA client TYPE REF TO z2ui5_if_client.
METHODS z2ui5_on_init.
METHODS z2ui5_on_event.
METHODS view_display_error.
METHODS view_display_start.
METHODS z2ui5_on_event
IMPORTING client TYPE REF TO z2ui5_if_client.
METHODS z2ui5_on_rendering
IMPORTING client TYPE REF TO z2ui5_if_client.
PRIVATE SECTION.
DATA lv_check_demo TYPE abap_bool.
@ -796,13 +792,20 @@ CLASS z2ui5_lcl_fw_app IMPLEMENTATION.
METHOD z2ui5_if_app~main.
me->client = client.
IF mv_is_initialized = abap_false.
mv_is_initialized = abap_true.
z2ui5_on_init( ).
ENDIF.
z2ui5_on_event( client ).
z2ui5_on_rendering( client ).
z2ui5_on_event( ).
IF ms_error-x_error IS BOUND.
view_display_error( ).
ELSE.
view_display_start( ).
ENDIF.
ENDMETHOD.
@ -816,15 +819,11 @@ CLASS z2ui5_lcl_fw_app IMPLEMENTATION.
METHOD z2ui5_on_init.
IF ms_error-x_error IS NOT BOUND.
mv_view_name = 'HOME'.
ms_home-is_initialized = abap_true.
ms_home-btn_text = `check`.
ms_home-btn_event_id = `BUTTON_CHECK`.
ms_home-class_editable = abap_true.
ms_home-btn_icon = `sap-icon://validate`.
ms_home-classname = `z2ui5_cl_app_hello_world`.
ELSE.
mv_view_name = 'ERROR'.
ENDIF.
lv_check_demo = abap_true.
@ -833,111 +832,106 @@ CLASS z2ui5_lcl_fw_app IMPLEMENTATION.
METHOD z2ui5_on_event.
CASE mv_view_name.
CASE client->get( )-event.
WHEN `HOME`.
CASE client->get( )-event.
WHEN `BUTTON_CHANGE`.
ms_home-btn_text = `check`.
ms_home-btn_event_id = `BUTTON_CHECK`.
ms_home-btn_icon = `sap-icon://validate`.
ms_home-class_editable = abap_true.
WHEN `BUTTON_CHANGE`.
ms_home-btn_text = `check`.
ms_home-btn_event_id = `BUTTON_CHECK`.
ms_home-btn_icon = `sap-icon://validate`.
ms_home-class_editable = abap_true.
WHEN `BUTTON_CHECK`.
TRY.
DATA li_app_test TYPE REF TO z2ui5_if_app.
ms_home-classname = z2ui5_lcl_utility=>get_trim_upper( ms_home-classname ).
CREATE OBJECT li_app_test TYPE (ms_home-classname).
WHEN `BUTTON_CHECK`.
TRY.
" TODO: variable is assigned but never used (ABAP cleaner)
DATA li_app_test TYPE REF TO z2ui5_if_app.
ms_home-classname = z2ui5_lcl_utility=>get_trim_upper( ms_home-classname ).
CREATE OBJECT li_app_test TYPE (ms_home-classname).
client->message_toast_display( `App is ready to start!` ).
ms_home-btn_text = `edit`.
ms_home-btn_event_id = `BUTTON_CHANGE`.
ms_home-btn_icon = `sap-icon://edit`.
ms_home-class_value_state = `Success`.
ms_home-class_editable = abap_false.
client->message_toast_display( `App is ready to start!` ).
ms_home-btn_text = `edit`.
ms_home-btn_event_id = `BUTTON_CHANGE`.
ms_home-btn_icon = `sap-icon://edit`.
ms_home-class_value_state = `Success`.
ms_home-class_editable = abap_false.
CATCH cx_root INTO DATA(lx) ##CATCH_ALL.
ms_home-class_value_state_text = lx->get_text( ).
ms_home-class_value_state = `Warning`.
client->message_box_display( text = ms_home-class_value_state_text type = `error` ).
ENDTRY.
CATCH cx_root INTO DATA(lx) ##CATCH_ALL.
ms_home-class_value_state_text = lx->get_text( ).
ms_home-class_value_state = `Warning`.
client->message_box_display( text = ms_home-class_value_state_text type = `error` ).
ENDTRY.
WHEN `DEMOS`.
WHEN `DEMOS`.
DATA li_app TYPE REF TO z2ui5_if_app.
TRY.
CREATE OBJECT li_app TYPE (`Z2UI5_CL_APP_DEMO_00`).
lv_check_demo = abap_true.
client->nav_app_call( li_app ).
CATCH cx_root.
lv_check_demo = abap_false.
ENDTRY.
ENDCASE.
DATA li_app TYPE REF TO z2ui5_if_app.
TRY.
CREATE OBJECT li_app TYPE (`Z2UI5_CL_APP_DEMO_00`).
lv_check_demo = abap_true.
client->nav_app_call( li_app ).
CATCH cx_root.
lv_check_demo = abap_false.
ENDTRY.
ENDCASE.
ENDMETHOD.
METHOD z2ui5_on_rendering.
IF ms_error-x_error IS BOUND.
METHOD view_display_error.
ms_error-x_error->get_source_position( IMPORTING program_name = DATA(lv_prog)
include_name = DATA(lv_incl)
source_line = DATA(lv_line) ).
DATA(lv_source) = `(` && lv_prog && `/` && lv_incl && `/` && lv_line && `)`.
WHILE ms_error-x_error->previous IS BOUND.
ms_error-x_error = ms_error-x_error->previous.
ENDWHILE.
DATA(lv_descr) = escape( val = ms_error-x_error->get_text( ) format = cl_abap_format=>e_xml_attr ) && lv_source.
* &&
* ` -------------------------------------------------------------------------------------------- Source Code Position: ` &&
* lv_prog && ` / ` && lv_incl && ` / ` && lv_line && ` `.
ms_error-x_error->get_source_position( IMPORTING program_name = DATA(lv_prog) ).
DATA(lv_xml) = `<mvc:View ` && |\n| &&
` xmlns="sap.m" ` && |\n| &&
` xmlns:z2ui5="z2ui5" ` && |\n| &&
` xmlns:core="sap.ui.core" ` && |\n| &&
` xmlns:mvc="sap.ui.core.mvc" ` && |\n| &&
` xmlns:layout="sap.ui.layout" ` && |\n| &&
` xmlns:f="sap.f" ` && |\n| &&
` xmlns:form="sap.ui.layout.form" ` && |\n| &&
` xmlns:editor="sap.ui.codeeditor" ` && |\n| &&
` xmlns:mchart="sap.suite.ui.microchart" ` && |\n| &&
` xmlns:webc="sap.ui.webc.main" ` && |\n| &&
` xmlns:uxap="sap.uxap" ` && |\n| &&
` xmlns:sap="sap" ` && |\n| &&
` xmlns:text="sap.ui.richtextedito" ` && |\n| &&
` xmlns:html="http://www.w3.org/1999/xhtml" ` && |\n| &&
` displayBlock="true" ` && |\n| &&
` height="100%" ` && |\n| &&
` controllerName="z2ui5_controller" ` && |\n| &&
` > <Shell>` && |\n| &&
* ` <Page ` && |\n| &&
`<IllustratedMessage ` && |\n| &&
` illustrationType="sapIllus-ErrorScreen" ` && |\n| &&
` enableFormattedText="true" ` && |\n| &&
` illustrationSize="sapIllus-ErrorScreen" ` && |\n| &&
` description="` && lv_descr && `"` && |\n| &&
` title="500 Internal Server Error" ` && |\n| &&
` > <additionalContent ` && |\n| &&
` > ` &&
`<Button ` && |\n| &&
` press="` && client->_event_client( client->cs_event-leave_home ) && `" ` && |\n| &&
` text="Home" ` && |\n| &&
` type="Emphasized" ` && |\n| &&
` />` &&
`<Button ` && |\n| &&
* ` enabled="` && lv_check_back && `"` &&
` press="` && client->_event_client( client->cs_event-leave_restart ) && `" ` && |\n| &&
` text="Restart" ` && |\n| &&
` ` && |\n| &&
` /></additionalContent></IllustratedMessage></Shell></mvc:View>`.
SPLIT lv_prog AT `=` INTO DATA(lv_classname) DATA(lv_Dummy) ##NEEDED.
DATA(lv_link2) = client->get( )-s_config-origin && `/sap/bc/adt/oo/classes/` && lv_classname && `/source/main`.
DATA(lv_source) = `<p>Source: <a href="` && lv_link2 && `" style="color:blue; font-weight:600;">web</a></p>`.
DATA(lv_descr) = escape( val = ms_error-x_error->get_text( ) && lv_source format = cl_abap_format=>e_xml_attr ).
client->view_display( lv_xml ).
RETURN.
DATA(lv_xml) = `<mvc:View ` && |\n| &&
` xmlns="sap.m" ` && |\n| &&
` xmlns:z2ui5="z2ui5" ` && |\n| &&
` xmlns:core="sap.ui.core" ` && |\n| &&
` xmlns:mvc="sap.ui.core.mvc" ` && |\n| &&
` xmlns:layout="sap.ui.layout" ` && |\n| &&
` xmlns:f="sap.f" ` && |\n| &&
` xmlns:form="sap.ui.layout.form" ` && |\n| &&
` xmlns:editor="sap.ui.codeeditor" ` && |\n| &&
` xmlns:mchart="sap.suite.ui.microchart" ` && |\n| &&
` xmlns:webc="sap.ui.webc.main" ` && |\n| &&
` xmlns:uxap="sap.uxap" ` && |\n| &&
` xmlns:sap="sap" ` && |\n| &&
` xmlns:text="sap.ui.richtextedito" ` && |\n| &&
` xmlns:html="http://www.w3.org/1999/xhtml" ` && |\n| &&
` displayBlock="true" ` && |\n| &&
` height="100%" ` && |\n| &&
` controllerName="z2ui5_controller" ` && |\n| &&
` > <Shell>` && |\n| &&
`<IllustratedMessage ` && |\n| &&
` illustrationType="sapIllus-ErrorScreen" ` && |\n| &&
` enableFormattedText="true" ` && |\n| &&
` illustrationSize="sapIllus-ErrorScreen" ` && |\n| &&
` description="` && lv_descr && `"` && |\n| &&
` title="500 Internal Server Error" ` && |\n| &&
` > <additionalContent ` && |\n| &&
` > ` &&
`<Button ` && |\n| &&
` press="` && client->_event_client( client->cs_event-leave_home ) && `" ` && |\n| &&
` text="Home" ` && |\n| &&
` type="Emphasized" ` && |\n| &&
` />` &&
`<Button ` && |\n| &&
` press="` && client->_event_client( client->cs_event-leave_restart ) && `" ` && |\n| &&
` text="Restart" ` && |\n| &&
` ` && |\n| &&
` /></additionalContent></IllustratedMessage></Shell></mvc:View>`.
ENDIF.
client->view_display( lv_xml ).
ENDMETHOD.
METHOD view_display_start.
TRY.
@ -1045,12 +1039,14 @@ CLASS z2ui5_lcl_fw_app IMPLEMENTATION.
` > <Label/><Button ` && |\n| &&
` press="` && client->_event( val = `DEMOS` check_view_transit = abap_true ) && `" ` && |\n| &&
` text="Continue..." enabled="` && COND #( WHEN lv_check_demo = abap_true THEN `true` ELSE `false` ) && |" \n| &&
` /><Button visible="false"/><Link text="More on github..." target="_blank" href="https://github.com/abap2UI5/abap2UI5/blob/main/LINKS.md" /></f:content></f:SimpleForm>`.
` /><Button visible="false"/><Link text="More on github..." target="_blank" href="https://github.com/abap2UI5/abap2UI5/blob/main/docs/links.md" /></f:content></f:SimpleForm>`.
lv_xml_main = lv_xml_main && `</l:content></l:Grid></Page></Shell></mvc:View>`.
client->view_display( lv_xml_main ).
ENDMETHOD.
ENDCLASS.
@ -1580,8 +1576,7 @@ CLASS z2ui5_lcl_fw_client IMPLEMENTATION.
METHOD z2ui5_if_client~message_toast_display.
mo_handler->ms_next-s_set-s_msg_toast = VALUE #(
text = text ).
mo_handler->ms_next-s_set-s_msg_toast = VALUE #( text = text ).
ENDMETHOD.

View File

@ -233,7 +233,16 @@ CLASS z2ui5_cl_xml_view DEFINITION
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS suggestion_items
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS suggestion_columns
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS suggestion_rows
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS vertical_layout
IMPORTING class TYPE clike OPTIONAL
@ -274,13 +283,16 @@ CLASS z2ui5_cl_xml_view DEFINITION
showclearicon TYPE clike OPTIONAL
valuestate TYPE clike OPTIONAL
valuestatetext TYPE clike OPTIONAL
showTableSuggestionValueHelp TYPE clike OPTIONAL
description TYPE clike OPTIONAL
editable TYPE clike OPTIONAL
enabled TYPE clike OPTIONAL
suggestionitems TYPE clike OPTIONAL
suggestionrows TYPE clike OPTIONAL
showsuggestion TYPE clike OPTIONAL
showvaluehelp TYPE clike OPTIONAL
valuehelprequest TYPE clike OPTIONAL
suggest TYPE clike OPTIONAL
class TYPE clike OPTIONAL
visible TYPE clike OPTIONAL
submit TYPE clike OPTIONAL
@ -925,9 +937,8 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
METHOD begin_column_pages.
result = _generic( name = `beginColumnPages`
ns = 'f' ).
" todo, implement method
result = me.
ENDMETHOD.
@ -1255,10 +1266,8 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
METHOD end_column_pages.
result = _generic( name = `endColumnPages`
ns = 'f' ).
" todo, implement method
result = me.
ENDMETHOD.
@ -1530,10 +1539,13 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
( n = `editable` v = lcl_utility=>get_json_boolean( editable ) )
( n = `enabled` v = lcl_utility=>get_json_boolean( enabled ) )
( n = `visible` v = lcl_utility=>get_json_boolean( visible ) )
( n = `showTableSuggestionValueHelp` v = lcl_utility=>get_json_boolean( showTableSuggestionValueHelp ) )
( n = `valueState` v = valuestate )
( n = `valueStateText` v = valuestatetext )
( n = `value` v = value )
( n = `suggest` v = suggest )
( n = `suggestionItems` v = suggestionitems )
( n = `suggestionRows` v = suggestionrows )
( n = `showSuggestion` v = lcl_utility=>get_json_boolean( showsuggestion ) )
( n = `valueHelpRequest` v = valuehelprequest )
( n = `submit` v = submit )
@ -1731,10 +1743,8 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
METHOD mid_column_pages.
result = _generic( name = `midColumnPages`
ns = 'f' ).
" todo, implement method
result = me.
ENDMETHOD.
@ -2059,6 +2069,13 @@ CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
ns = `uxap` ).
ENDMETHOD.
METHOD suggestion_columns.
result = _generic( `suggestionColumns` ).
ENDMETHOD.
METHOD suggestion_rows.
result = _generic( `suggestionRows` ).
ENDMETHOD.
METHOD suggestion_items.
result = _generic( `suggestionItems` ).