Refactoring (#1519)

* refactoring

* update

* update

* update

* update

* update
This commit is contained in:
oblomov-dev 2024-10-27 15:11:09 +01:00 committed by GitHub
parent c7be9a4508
commit a0df28a4ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 6337 additions and 4905 deletions

36
.github/workflows/clean_up.yaml vendored Normal file
View File

@ -0,0 +1,36 @@
name: Clean-up ABAP Files
on:
push:
branches: ["main"]
# pull_request:
# branches: ["main"]
workflow_dispatch:
jobs:
Code-Cleanup:
runs-on: ubuntu-latest
steps:
- run: git config --global core.autocrlf true
- name: Checkout
uses: actions/checkout@v3
- name: Download ABAP Cleaner (latest version)
run: |
mkdir .cleanup
cd .cleanup
wget -q -c https://github.com/SAP/abap-cleaner/releases/latest/download/com.sap.adt.abapcleaner.app-linux.gtk.x86_64.tar.gz -O - | tar -xz
cd ..
- name: Clean-up files in /src
run: ./.cleanup/abapcleaner/abap-cleaner --sourcedir src --recursive --overwrite --profile cleaner-profile.cfj --release 750 --stats --usedrules
- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
default_author: github_actions
message: "style: code cleanup with ABAP cleaner"
add: "src"

1143
cleaner-profile.cfj Normal file

File diff suppressed because it is too large Load Diff

View File

@ -143,7 +143,7 @@ CLASS z2ui5_cl_core_action IMPLEMENTATION.
result->mo_app->ms_draft-id = z2ui5_cl_util=>uuid_get_c32( ). result->mo_app->ms_draft-id = z2ui5_cl_util=>uuid_get_c32( ).
result->ms_actual-check_on_navigated = abap_true. result->ms_actual-check_on_navigated = abap_true.
result->mo_app->mo_app = z2ui5_cl_core_app_startup=>factory( ). result->mo_app->mo_app = z2ui5_cl_app_startup=>factory( ).
DATA(li_app) = CAST z2ui5_if_app( result->mo_app->mo_app ). DATA(li_app) = CAST z2ui5_if_app( result->mo_app->mo_app ).
li_app->id_draft = result->mo_app->ms_draft-id. li_app->id_draft = result->mo_app->ms_draft-id.

View File

@ -1,341 +0,0 @@
CLASS z2ui5_cl_core_app_startup DEFINITION
PUBLIC
FINAL
CREATE PROTECTED .
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
DATA:
BEGIN OF ms_home,
url TYPE string,
btn_text TYPE string,
btn_event_id TYPE string,
btn_icon TYPE string,
classname TYPE string,
class_value_state TYPE string,
class_value_state_text TYPE string,
class_editable TYPE abap_bool VALUE abap_true,
END OF ms_home.
DATA mv_ui5_version TYPE string .
DATA client TYPE REF TO z2ui5_if_client.
DATA mv_check_initialized TYPE abap_bool.
CLASS-METHODS factory
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_core_app_startup.
METHODS z2ui5_on_init.
METHODS z2ui5_on_event.
METHODS view_display_start.
METHODS on_event_check.
METHODS view_display_popup.
PROTECTED SECTION.
DATA mt_classes TYPE z2ui5_cl_util=>ty_t_classes.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_core_app_startup IMPLEMENTATION.
METHOD factory.
result = NEW #( ).
ENDMETHOD.
METHOD on_event_check.
DATA li_app_test TYPE REF TO z2ui5_if_app.
TRY.
ms_home-classname = z2ui5_cl_util=>c_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.
ms_home-url = z2ui5_cl_core_util_srv=>app_get_url(
client = client
classname = ms_home-classname ).
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.
ENDMETHOD.
METHOD view_display_start.
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
title = `abap2UI5 - Developing UI5 Apps Purely in ABAP`
shownavbutton = abap_false ).
page->header_content(
)->toolbar_spacer(
)->button( text = `Debugging Tools` icon = `sap-icon://enablement`
press = client->_event( `OPEN_DEBUG` )
)->button( text = `System` icon = `sap-icon://information`
press = client->_event( `OPEN_INFO` )
).
DATA(simple_form) = page->simple_form(
editable = abap_true
layout = `ResponsiveGridLayout`
labelspanxl = `4`
labelspanl = `3`
labelspanm = `4`
labelspans = `12`
adjustlabelspan = abap_false
emptyspanxl = `0`
emptyspanl = `4`
emptyspanm = `0`
emptyspans = `0`
columnsxl = `1`
columnsl = `1`
columnsm = `1`
singlecontainerfullsize = abap_false
)->content( `form` ).
simple_form->toolbar( )->title( `Quickstart` ).
simple_form->label( `Step 1`
)->text( `Create a new class in your ABAP system`
)->label( `Step 2`
)->text( `Add the interface: Z2UI5_IF_APP`
)->label( `Step 3`
)->text( `Define the view, implement behaviour`
)->label(
)->link( text = `(Example)`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5/blob/main/src/02/z2ui5_cl_hello_world.clas.abap`
)->label( `Step 4` ).
IF ms_home-class_editable = abap_true.
simple_form->input( placeholder = `fill in the class name and press 'check'`
enabled = client->_bind( ms_home-class_editable )
value = client->_bind_edit( ms_home-classname )
submit = client->_event( ms_home-btn_event_id )
valuehelprequest = client->_event( 'VALUE_HELP' )
showvaluehelp = abap_true
width = `70%` ).
ELSE.
simple_form->text( ms_home-classname ).
ENDIF.
simple_form->label( ).
simple_form->button( press = client->_event( ms_home-btn_event_id )
text = client->_bind( ms_home-btn_text )
icon = client->_bind( ms_home-btn_icon )
width = `70%` ).
simple_form->label( `Step 5`
)->link( text = `Link to the Application`
target = `_blank`
href = client->_bind( ms_home-url )
enabled = `{= $` && client->_bind( val = ms_home-class_editable ) && ` === false }` ).
DATA(lv_url_samples2) = z2ui5_cl_core_util_srv=>app_get_url(
client = client
classname = 'z2ui5_cl_demo_app_000' ).
simple_form->toolbar( )->title( `What's next?` ).
IF z2ui5_cl_util=>rtti_check_class_exists( `z2ui5_cl_demo_app_000` ).
simple_form->label( `Start Developing` ).
simple_form->button(
text = `Explore Code Samples`
press = client->_event_client( val = client->cs_event-open_new_tab
t_arg = VALUE #( ( lv_url_samples2 ) ) )
width = `70%` ).
ELSE.
simple_form->label( `Install the sample repository` ).
simple_form->link( text = `And explore more than 200 sample apps...`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5-samples` ).
ENDIF.
simple_form->toolbar( )->title( `Contribution` ).
simple_form->label( `Open an issue` ).
simple_form->link( text = `You have problems, comments or wishes?`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5/issues` ).
simple_form->label( `Open a Pull Request` ).
simple_form->link( text = `You added a new feature or fixed a bug?`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5/pulls` ).
simple_form->toolbar( )->title( `Social Media` ).
simple_form->label( ).
simple_form->link( text = `Follow us on LinkedIn`
target = `_blank`
href = `https://www.linkedin.com/company/abap2ui5` ).
simple_form->label( ).
simple_form->link( text = `www.abap2UI5.org`
target = `_blank`
href = `http://www.abap2UI5.org` ).
client->view_display( page->stringify( ) ).
ENDMETHOD.
METHOD z2ui5_if_app~main.
me->client = client.
IF mv_check_initialized = abap_false.
mv_check_initialized = abap_true.
z2ui5_on_init( ).
view_display_start( ).
RETURN.
ENDIF.
IF client->get( )-check_on_navigated = abap_true.
TRY.
DATA(lo_f4) = CAST z2ui5_cl_pop_to_select( client->get_app( client->get( )-s_draft-id_prev_app ) ).
DATA(ls_result) = lo_f4->result( ).
IF ls_result-check_confirmed = abap_true.
ASSIGN ls_result-row->* TO FIELD-SYMBOL(<class>).
ms_home = CORRESPONDING #( BASE ( ms_home ) <class> ).
view_display_start( ).
RETURN.
ENDIF.
CATCH cx_root.
ENDTRY.
ENDIF.
z2ui5_on_event( ).
ENDMETHOD.
METHOD view_display_popup.
DATA(page2) = z2ui5_cl_xml_view=>factory_popup(
)->dialog(
title = `abap2UI5 - System Information`
afterclose = client->_event( `CLOSE` ) ).
DATA(content) = page2->content( ).
content->_z2ui5( )->info_frontend( ui5_version = client->_bind( mv_ui5_version ) ).
DATA(simple_form2) = content->simple_form(
editable = abap_true
layout = `ResponsiveGridLayout`
labelspanxl = `4`
labelspanl = `3`
labelspanm = `4`
labelspans = `12`
adjustlabelspan = abap_false
emptyspanxl = `0`
emptyspanl = `4`
emptyspanm = `0`
emptyspans = `0`
columnsxl = `1`
columnsl = `1`
columnsm = `1`
singlecontainerfullsize = abap_false
)->content( `form` ).
simple_form2->toolbar( )->title( `Frontend` ).
simple_form2->label( `UI5 Version` ).
simple_form2->text( client->_bind( mv_ui5_version ) ).
simple_form2->label( `Launchpad active` ).
simple_form2->checkbox( enabled = abap_false selected = client->get( )-check_launchpad_active ).
simple_form2->toolbar( )->title( `Backend` ).
simple_form2->label( `ABAP for Cloud` ).
simple_form2->checkbox( enabled = abap_false selected = z2ui5_cl_util=>context_check_abap_cloud( ) ).
DATA(lv_count) = CONV string( NEW z2ui5_cl_core_srv_draft( )->count_entries( ) ).
simple_form2->toolbar( )->title( `abap2UI5` ).
simple_form2->label( `Version ` ).
simple_form2->text( z2ui5_if_app=>version ).
simple_form2->label( `Draft Entries ` ).
simple_form2->text( lv_count ).
page2->end_button( )->button(
text = 'close'
press = client->_event( 'CLOSE' )
type = 'Emphasized' ).
client->popup_display( page2->stringify( ) ).
ENDMETHOD.
METHOD z2ui5_on_event.
DATA li_app TYPE REF TO z2ui5_if_app.
CASE client->get( )-event.
WHEN `CLOSE`.
client->popup_destroy( ).
WHEN `OPEN_DEBUG`.
client->message_box_display( `Press CTRL+F12 to open the debugging tools` ).
WHEN `OPEN_INFO`.
view_display_popup( ).
* client->nav_app_call( z2ui5_cl_core_app_info=>factory( ) ).
RETURN.
WHEN `BUTTON_CHECK`.
IF ms_home-class_editable = abap_false.
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.
ELSE.
on_event_check( ).
ENDIF.
client->view_model_update( ).
WHEN 'VALUE_HELP'.
TRY.
mt_classes = z2ui5_cl_util=>rtti_get_classes_impl_intf( z2ui5_cl_util=>rtti_get_intfname_by_ref( li_app ) ).
CATCH cx_root.
client->message_box_display( `Unfortunately the value help is not available on your ABAP release!` ).
RETURN.
ENDTRY.
client->nav_app_call( z2ui5_cl_pop_to_select=>factory( mt_classes ) ).
ENDCASE.
ENDMETHOD.
METHOD z2ui5_on_init.
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_util=>rtti_get_classname_by_ref( NEW z2ui5_cl_hello_world( ) ).
ENDMETHOD.
ENDCLASS.

View File

@ -32,7 +32,7 @@ CLASS ltcl_test_handler_post IMPLEMENTATION.
act = lo_post->ms_request-s_front-pathname act = lo_post->ms_request-s_front-pathname
exp = `PATHNAME` ). exp = `PATHNAME` ).
DATA(lo_startup) = CAST z2ui5_cl_core_app_startup( lo_post->mo_action->mo_app->mo_app ) ##NEEDED. DATA(lo_startup) = CAST z2ui5_cl_app_startup( lo_post->mo_action->mo_app->mo_app ) ##NEEDED.
ENDMETHOD. ENDMETHOD.

View File

@ -1,4 +1,4 @@
CLASS z2ui5_cl_core_util_srv DEFINITION CLASS z2ui5_cl_core_srv_util DEFINITION
PUBLIC PUBLIC
INHERITING FROM z2ui5_cl_util INHERITING FROM z2ui5_cl_util
CREATE PUBLIC . CREATE PUBLIC .
@ -24,7 +24,7 @@ ENDCLASS.
CLASS z2ui5_cl_core_util_srv IMPLEMENTATION. CLASS z2ui5_cl_core_srv_util IMPLEMENTATION.
METHOD app_get_url. METHOD app_get_url.

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"> <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values> <asx:values>
<VSEOCLASS> <VSEOCLASS>
<CLSNAME>Z2UI5_CL_CORE_UTIL_SRV</CLSNAME> <CLSNAME>Z2UI5_CL_CORE_SRV_UTIL</CLSNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>abap2UI5 - utility functions</DESCRIPT> <DESCRIPT>abap2UI5 - utility functions</DESCRIPT>
<STATE>1</STATE> <STATE>1</STATE>

View File

@ -1,22 +1,20 @@
CLASS z2ui5_cl_hello_world DEFINITION CLASS z2ui5_cl_app_hello_world DEFINITION
PUBLIC PUBLIC
CREATE PUBLIC . CREATE PUBLIC.
PUBLIC SECTION. PUBLIC SECTION.
INTERFACES z2ui5_if_app. INTERFACES z2ui5_if_app.
DATA name TYPE string.
DATA name TYPE string.
DATA check_initialized TYPE abap_bool. DATA check_initialized TYPE abap_bool.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
CLASS z2ui5_cl_hello_world IMPLEMENTATION.
METHOD z2ui5_if_app~main. METHOD z2ui5_if_app~main.
IF check_initialized = abap_false. IF check_initialized = abap_false.
@ -30,7 +28,8 @@ CLASS z2ui5_cl_hello_world IMPLEMENTATION.
)->title( 'Make an input here and send it to the server...' )->title( 'Make an input here and send it to the server...'
)->label( 'Name' )->label( 'Name'
)->input( client->_bind_edit( name ) )->input( client->_bind_edit( name )
)->button( text = 'post' press = client->_event( 'BUTTON_POST' ) )->button( text = 'post'
press = client->_event( 'BUTTON_POST' )
)->stringify( ) ). )->stringify( ) ).
ENDIF. ENDIF.
@ -42,5 +41,4 @@ CLASS z2ui5_cl_hello_world IMPLEMENTATION.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"> <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values> <asx:values>
<VSEOCLASS> <VSEOCLASS>
<CLSNAME>Z2UI5_CL_HELLO_WORLD</CLSNAME> <CLSNAME>Z2UI5_CL_APP_HELLO_WORLD</CLSNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>abap2UI5 - hello world app</DESCRIPT> <DESCRIPT>abap2UI5 - hello world app</DESCRIPT>
<STATE>1</STATE> <STATE>1</STATE>

View File

@ -0,0 +1,328 @@
CLASS z2ui5_cl_app_startup DEFINITION
PUBLIC FINAL
CREATE PROTECTED.
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
DATA:
BEGIN OF ms_home,
url TYPE string,
btn_text TYPE string,
btn_event_id TYPE string,
btn_icon TYPE string,
classname TYPE string,
class_value_state TYPE string,
class_value_state_text TYPE string,
class_editable TYPE abap_bool VALUE abap_true,
END OF ms_home.
DATA mv_ui5_version TYPE string.
DATA client TYPE REF TO z2ui5_if_client.
DATA mv_check_initialized TYPE abap_bool.
CLASS-METHODS factory
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_app_startup.
METHODS z2ui5_on_init.
METHODS z2ui5_on_event.
METHODS view_display_start.
METHODS on_event_check.
METHODS view_display_popup.
PROTECTED SECTION.
DATA mt_classes TYPE z2ui5_cl_util=>ty_t_classes.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_app_startup IMPLEMENTATION.
METHOD factory.
result = NEW #( ).
ENDMETHOD.
METHOD on_event_check.
" TODO: variable is assigned but never used (ABAP cleaner)
DATA li_app_test TYPE REF TO z2ui5_if_app.
TRY.
ms_home-classname = z2ui5_cl_util=>c_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.
ms_home-url = z2ui5_cl_core_srv_util=>app_get_url( client = client
classname = ms_home-classname ).
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.
ENDMETHOD.
METHOD view_display_start.
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
title = `abap2UI5 - Developing UI5 Apps Purely in ABAP`
shownavbutton = abap_false ).
page->header_content(
)->toolbar_spacer(
)->button( text = `Debugging Tools`
icon = `sap-icon://enablement`
press = client->_event( `OPEN_DEBUG` )
)->button( text = `System`
icon = `sap-icon://information`
press = client->_event( `OPEN_INFO` ) ).
DATA(simple_form) = page->simple_form( editable = abap_true
layout = `ResponsiveGridLayout`
labelspanxl = `4`
labelspanl = `3`
labelspanm = `4`
labelspans = `12`
adjustlabelspan = abap_false
emptyspanxl = `0`
emptyspanl = `4`
emptyspanm = `0`
emptyspans = `0`
columnsxl = `1`
columnsl = `1`
columnsm = `1`
singlecontainerfullsize = abap_false
)->content( `form` ).
simple_form->toolbar( )->title( `Quickstart` ).
" TODO: check spelling: behaviour (BE) -> behavior (ABAP cleaner)
simple_form->label( `Step 1`
)->text( `Create a new class in your ABAP system`
)->label( `Step 2`
)->text( `Add the interface: Z2UI5_IF_APP`
)->label( `Step 3`
)->text( `Define the view, implement behaviour`
)->label(
)->link( text = `(Example)`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5/blob/main/src/02/z2ui5_cl_app_hello_world.clas.abap`
)->label( `Step 4` ).
IF ms_home-class_editable = abap_true.
simple_form->input( placeholder = `fill in the class name and press 'check'`
enabled = client->_bind( ms_home-class_editable )
value = client->_bind_edit( ms_home-classname )
submit = client->_event( ms_home-btn_event_id )
valuehelprequest = client->_event( 'VALUE_HELP' )
showvaluehelp = abap_true
width = `70%` ).
ELSE.
simple_form->text( ms_home-classname ).
ENDIF.
simple_form->label( ).
simple_form->button( press = client->_event( ms_home-btn_event_id )
text = client->_bind( ms_home-btn_text )
icon = client->_bind( ms_home-btn_icon )
width = `70%` ).
simple_form->label( `Step 5`
)->link( text = `Link to the Application`
target = `_blank`
href = client->_bind( ms_home-url )
enabled = |\{= ${ client->_bind( val = ms_home-class_editable ) } === false \}| ).
DATA(lv_url_samples2) = z2ui5_cl_core_srv_util=>app_get_url( client = client
classname = 'z2ui5_cl_demo_app_000' ).
simple_form->toolbar( )->title( `What's next?` ).
IF z2ui5_cl_util=>rtti_check_class_exists( `z2ui5_cl_demo_app_000` ).
simple_form->label( `Start Developing` ).
simple_form->button( text = `Explore Code Samples`
press = client->_event_client( val = client->cs_event-open_new_tab
t_arg = VALUE #( ( lv_url_samples2 ) ) )
width = `70%` ).
ELSE.
simple_form->label( `Install the sample repository` ).
simple_form->link( text = `And explore more than 200 sample apps...`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5-samples` ).
ENDIF.
simple_form->toolbar( )->title( `Contribution` ).
simple_form->label( `Open an issue` ).
simple_form->link( text = `You have problems, comments or wishes?`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5/issues` ).
simple_form->label( `Open a Pull Request` ).
simple_form->link( text = `You added a new feature or fixed a bug?`
target = `_blank`
href = `https://github.com/abap2UI5/abap2UI5/pulls` ).
simple_form->toolbar( )->title( `Social Media` ).
simple_form->label( ).
simple_form->link( text = `Follow us on LinkedIn`
target = `_blank`
href = `https://www.linkedin.com/company/abap2ui5` ).
simple_form->label( ).
simple_form->link( text = `www.abap2UI5.org`
target = `_blank`
href = `http://www.abap2UI5.org` ).
client->view_display( page->stringify( ) ).
ENDMETHOD.
METHOD z2ui5_if_app~main.
me->client = client.
IF mv_check_initialized = abap_false.
mv_check_initialized = abap_true.
z2ui5_on_init( ).
view_display_start( ).
RETURN.
ENDIF.
IF client->get( )-check_on_navigated = abap_true.
TRY.
DATA(lo_f4) = CAST z2ui5_cl_pop_to_select( client->get_app( client->get( )-s_draft-id_prev_app ) ).
DATA(ls_result) = lo_f4->result( ).
IF ls_result-check_confirmed = abap_true.
ASSIGN ls_result-row->* TO FIELD-SYMBOL(<class>).
ms_home = CORRESPONDING #( BASE ( ms_home ) <class> ).
view_display_start( ).
RETURN.
ENDIF.
CATCH cx_root.
ENDTRY.
ENDIF.
z2ui5_on_event( ).
ENDMETHOD.
METHOD view_display_popup.
DATA(page2) = z2ui5_cl_xml_view=>factory_popup(
)->dialog( title = `abap2UI5 - System Information`
afterclose = client->_event( `CLOSE` ) ).
DATA(content) = page2->content( ).
content->_z2ui5( )->info_frontend( ui5_version = client->_bind( mv_ui5_version ) ).
DATA(simple_form2) = content->simple_form( editable = abap_true
layout = `ResponsiveGridLayout`
labelspanxl = `4`
labelspanl = `3`
labelspanm = `4`
labelspans = `12`
adjustlabelspan = abap_false
emptyspanxl = `0`
emptyspanl = `4`
emptyspanm = `0`
emptyspans = `0`
columnsxl = `1`
columnsl = `1`
columnsm = `1`
singlecontainerfullsize = abap_false
)->content( `form` ).
simple_form2->toolbar( )->title( `Frontend` ).
simple_form2->label( `UI5 Version` ).
simple_form2->text( client->_bind( mv_ui5_version ) ).
simple_form2->label( `Launchpad active` ).
simple_form2->checkbox( enabled = abap_false
selected = client->get( )-check_launchpad_active ).
simple_form2->toolbar( )->title( `Backend` ).
simple_form2->label( `ABAP for Cloud` ).
simple_form2->checkbox( enabled = abap_false
selected = z2ui5_cl_util=>context_check_abap_cloud( ) ).
DATA(lv_count) = CONV string( NEW z2ui5_cl_core_srv_draft( )->count_entries( ) ).
simple_form2->toolbar( )->title( `abap2UI5` ).
simple_form2->label( `Version ` ).
simple_form2->text( z2ui5_if_app=>version ).
simple_form2->label( `Draft Entries ` ).
simple_form2->text( lv_count ).
page2->end_button( )->button( text = 'close'
press = client->_event( 'CLOSE' )
type = 'Emphasized' ).
client->popup_display( page2->stringify( ) ).
ENDMETHOD.
METHOD z2ui5_on_event.
DATA li_app TYPE REF TO z2ui5_if_app.
CASE client->get( )-event.
WHEN `CLOSE`.
client->popup_destroy( ).
WHEN `OPEN_DEBUG`.
client->message_box_display( `Press CTRL+F12 to open the debugging tools` ).
WHEN `OPEN_INFO`.
view_display_popup( ).
* client->nav_app_call( z2ui5_cl_core_app_info=>factory( ) ).
RETURN.
WHEN `BUTTON_CHECK`.
IF ms_home-class_editable = abap_false.
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.
ELSE.
on_event_check( ).
ENDIF.
client->view_model_update( ).
WHEN 'VALUE_HELP'.
TRY.
mt_classes = z2ui5_cl_util=>rtti_get_classes_impl_intf( z2ui5_cl_util=>rtti_get_intfname_by_ref( li_app ) ).
CATCH cx_root.
client->message_box_display( `Unfortunately the value help is not available on your ABAP release!` ).
RETURN.
ENDTRY.
client->nav_app_call( z2ui5_cl_pop_to_select=>factory( mt_classes ) ).
ENDCASE.
ENDMETHOD.
METHOD z2ui5_on_init.
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_util=>rtti_get_classname_by_ref( NEW z2ui5_cl_app_hello_world( ) ).
ENDMETHOD.
ENDCLASS.

View File

@ -12,7 +12,7 @@ CLASS ltcl_app_startup_test IMPLEMENTATION.
METHOD first_test. METHOD first_test.
DATA(lo_app) = z2ui5_cl_core_app_startup=>factory( ) ##NEEDED. DATA(lo_app) = z2ui5_cl_app_startup=>factory( ) ##NEEDED.
ENDMETHOD. ENDMETHOD.

View File

@ -3,7 +3,7 @@
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"> <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values> <asx:values>
<VSEOCLASS> <VSEOCLASS>
<CLSNAME>Z2UI5_CL_CORE_APP_STARTUP</CLSNAME> <CLSNAME>Z2UI5_CL_APP_STARTUP</CLSNAME>
<LANGU>E</LANGU> <LANGU>E</LANGU>
<DESCRIPT>abap2UI5 - startup app</DESCRIPT> <DESCRIPT>abap2UI5 - startup app</DESCRIPT>
<STATE>1</STATE> <STATE>1</STATE>

View File

@ -3,12 +3,11 @@ CLASS z2ui5_cl_http_handler DEFINITION
CREATE PROTECTED. CREATE PROTECTED.
PUBLIC SECTION. PUBLIC SECTION.
CLASS-METHODS run CLASS-METHODS run
IMPORTING IMPORTING
server TYPE REF TO object OPTIONAL server TYPE REF TO object OPTIONAL
req TYPE REF TO object OPTIONAL req TYPE REF TO object OPTIONAL
res TYPE REF TO object OPTIONAL res TYPE REF TO object OPTIONAL
config TYPE z2ui5_if_types=>ty_s_http_config OPTIONAL config TYPE z2ui5_if_types=>ty_s_http_config OPTIONAL
PREFERRED PARAMETER server. PREFERRED PARAMETER server.
@ -68,29 +67,23 @@ CLASS z2ui5_cl_http_handler DEFINITION
is_res TYPE z2ui5_if_core_types=>ty_s_http_res. is_res TYPE z2ui5_if_core_types=>ty_s_http_res.
PROTECTED SECTION. PROTECTED SECTION.
CLASS-DATA so_sticky_handler TYPE REF TO z2ui5_cl_core_handler. CLASS-DATA so_sticky_handler TYPE REF TO z2ui5_cl_core_handler.
DATA mo_server TYPE REF TO z2ui5_cl_abap_api_http. DATA mo_server TYPE REF TO z2ui5_cl_abap_api_http.
DATA ms_req TYPE z2ui5_if_core_types=>ty_s_http_req. DATA ms_req TYPE z2ui5_if_core_types=>ty_s_http_req.
DATA ms_res TYPE z2ui5_if_core_types=>ty_s_http_res. DATA ms_res TYPE z2ui5_if_core_types=>ty_s_http_res.
DATA ms_config TYPE z2ui5_if_types=>ty_s_http_config. DATA ms_config TYPE z2ui5_if_types=>ty_s_http_config.
METHODS set_request. METHODS set_request.
METHODS set_response. METHODS set_response.
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
CLASS z2ui5_cl_http_handler IMPLEMENTATION. CLASS z2ui5_cl_http_handler IMPLEMENTATION.
METHOD main. METHOD main.
ms_config = s_config. ms_config = s_config.
@ -102,7 +95,8 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
mo_server->set_session_stateful( 0 ). mo_server->set_session_stateful( 0 ).
RETURN. RETURN.
WHEN OTHERS. WHEN OTHERS.
ms_res = _main( is_req = ms_req is_config = ms_config ). ms_res = _main( is_req = ms_req
is_config = ms_config ).
ENDCASE. ENDCASE.
set_response( ). set_response( ).
@ -116,7 +110,8 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
IF server IS BOUND. IF server IS BOUND.
result->mo_server = z2ui5_cl_abap_api_http=>factory( server ). result->mo_server = z2ui5_cl_abap_api_http=>factory( server ).
ELSEIF req IS BOUND AND res IS BOUND. ELSEIF req IS BOUND AND res IS BOUND.
result = factory_cloud( req = req res = res ). result = factory_cloud( req = req
res = res ).
ELSE. ELSE.
ASSERT 1 = `EMPTY_HTTP_HANDLER_CALL_ERROR`. ASSERT 1 = `EMPTY_HTTP_HANDLER_CALL_ERROR`.
ENDIF. ENDIF.
@ -126,13 +121,11 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
METHOD factory_cloud. METHOD factory_cloud.
result = NEW #( ). result = NEW #( ).
result->mo_server = z2ui5_cl_abap_api_http=>factory_cloud( result->mo_server = z2ui5_cl_abap_api_http=>factory_cloud( req = req
req = req res = res ).
res = res ).
ENDMETHOD. ENDMETHOD.
METHOD _http_get. METHOD _http_get.
IF is_config-title IS INITIAL. IF is_config-title IS INITIAL.
@ -144,15 +137,15 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
ENDIF. ENDIF.
IF is_config-src IS INITIAL. IF is_config-src IS INITIAL.
is_config-src = `https://sdk.openui5.org/resources/sap-ui-cachebuster/sap-ui-core.js`. is_config-src = `https://sdk.openui5.org/resources/sap-ui-cachebuster/sap-ui-core.js`.
* ms_req_config-src = `https://sdk.openui5.org/1.71.67/resources/sap-ui-core.js`. * ms_req_config-src = `https://sdk.openui5.org/1.71.67/resources/sap-ui-core.js`.
* ms_req_config-src = `https://sdk.openui5.org/nightly/2/resources/sap-ui-core.js`. * ms_req_config-src = `https://sdk.openui5.org/nightly/2/resources/sap-ui-core.js`.
ENDIF. ENDIF.
IF is_config-content_security_policy IS INITIAL. IF is_config-content_security_policy IS INITIAL.
is_config-content_security_policy = `<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' 'unsafe-eval' data: ` && is_config-content_security_policy = |<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' 'unsafe-eval' data: | &&
`ui5.sap.com *.ui5.sap.com sapui5.hana.ondemand.com *.sapui5.hana.ondemand.com openui5.hana.ondemand.com *.openui5.hana.ondemand.com ` && |ui5.sap.com *.ui5.sap.com sapui5.hana.ondemand.com *.sapui5.hana.ondemand.com openui5.hana.ondemand.com *.openui5.hana.ondemand.com | &&
`sdk.openui5.org *.sdk.openui5.org cdn.jsdelivr.net *.cdn.jsdelivr.net cdnjs.cloudflare.com *.cdnjs.cloudflare.com schemas *.schemas"/>`. |sdk.openui5.org *.sdk.openui5.org cdn.jsdelivr.net *.cdn.jsdelivr.net cdnjs.cloudflare.com *.cdnjs.cloudflare.com schemas *.schemas"/>|.
ENDIF. ENDIF.
IF is_config-styles_css IS INITIAL. IF is_config-styles_css IS INITIAL.
@ -161,100 +154,100 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
lv_style_css = is_config-styles_css. lv_style_css = is_config-styles_css.
ENDIF. ENDIF.
result = `<!DOCTYPE html>` && |\n| && result = |<!DOCTYPE html>| && |\n| &&
`<html lang="en">` && |\n| && |<html lang="en">| && |\n| &&
`<head>` && |\n| && |<head>| && |\n| &&
is_config-content_security_policy && |\n| && |{ is_config-content_security_policy }\n| &&
` <meta charset="UTF-8">` && |\n| && | <meta charset="UTF-8">| && |\n| &&
` <meta name="viewport" content="width=device-width, initial-scale=1.0">` && |\n| && | <meta name="viewport" content="width=device-width, initial-scale=1.0">| && |\n| &&
` <meta http-equiv="X-UA-Compatible" content="IE=edge">` && |\n| && | <meta http-equiv="X-UA-Compatible" content="IE=edge">| && |\n| &&
| <title> { is_config-title }</title> \n| && | <title> { is_config-title }</title> \n| &&
| <style> html, body, body > div, #container, #container-uiarea \{\n| & | <style> html, body, body > div, #container, #container-uiarea \{\n| &
| height: 100%;\n| & | height: 100%;\n| &
| \}</style> \n| && | \}</style> \n| &&
`<script>` && |\n| && |<script>| && |\n| &&
` function onInitComponent(){` && |\n| && | function onInitComponent()\{| && |\n| &&
` sap.ui.require.preload({` && |\n| && | sap.ui.require.preload(\{| && |\n| &&
` "z2ui5/manifest.json": '` && z2ui5_cl_app_manifest_json=>get( ) && `',` && |\n| && | "z2ui5/manifest.json": '{ z2ui5_cl_app_manifest_json=>get( ) }',| && |\n| &&
` "z2ui5/Component.js": function(){` && z2ui5_cl_app_component_js=>get( ) && is_config-custom_js && `},` && |\n| && | "z2ui5/Component.js": function()\{{ z2ui5_cl_app_component_js=>get( ) }{ is_config-custom_js }\},| && |\n| &&
` "z2ui5/css/style.css": '` && lv_style_css && `',` && |\n| && | "z2ui5/css/style.css": '{ lv_style_css }',| && |\n| &&
` "z2ui5/model/models.js": function(){` && z2ui5_cl_app_models_js=>get( ) && `},` && |\n| && | "z2ui5/model/models.js": function()\{{ z2ui5_cl_app_models_js=>get( ) }\},| && |\n| &&
` "z2ui5/view/App.view.xml": '` && z2ui5_cl_app_app_xml=>get( ) && `',` && |\n| && | "z2ui5/view/App.view.xml": '{ z2ui5_cl_app_app_xml=>get( ) }',| && |\n| &&
` "z2ui5/controller/App.controller.js": function(){` && z2ui5_cl_app_app_js=>get( ) && `},` && |\n| && | "z2ui5/controller/App.controller.js": function()\{{ z2ui5_cl_app_app_js=>get( ) }\},| && |\n| &&
` "z2ui5/view/View1.view.xml": '` && z2ui5_cl_app_view1_xml=>get( ) && `',` && |\n| && | "z2ui5/view/View1.view.xml": '{ z2ui5_cl_app_view1_xml=>get( ) }',| && |\n| &&
` "z2ui5/controller/View1.controller.js": function(){` && z2ui5_cl_app_view1_js=>get( ) && `},` && |\n| && | "z2ui5/controller/View1.controller.js": function()\{{ z2ui5_cl_app_view1_js=>get( ) }\},| && |\n| &&
` "z2ui5/cc/Server.js": function(){` && z2ui5_cl_app_server_js=>get( ) && `},` && |\n| && | "z2ui5/cc/Server.js": function()\{{ z2ui5_cl_app_server_js=>get( ) }\},| && |\n| &&
` "z2ui5/cc/DebugTool.fragment.xml": '` && z2ui5_cl_app_debugtool_xml=>get( ) && `',` && |\n| && | "z2ui5/cc/DebugTool.fragment.xml": '{ z2ui5_cl_app_debugtool_xml=>get( ) }',| && |\n| &&
` "z2ui5/cc/DebugTool.js": function(){` && z2ui5_cl_app_debugtool_js=>get( ) && `},` && |\n| && | "z2ui5/cc/DebugTool.js": function()\{{ z2ui5_cl_app_debugtool_js=>get( ) }\},| && |\n| &&
` });` && |\n| && | \});| && |\n| &&
` sap.ui.require(["sap/ui/core/ComponentSupport"], function(ComponentSupport){` && |\n| && | sap.ui.require(["sap/ui/core/ComponentSupport"], function(ComponentSupport)\{| && |\n| &&
` window.z2ui5 = { checkLocal : true }; ComponentSupport.run();` && |\n| && | window.z2ui5 = \{ checkLocal : true \}; ComponentSupport.run();| && |\n| &&
` });` && |\n| && | \});| && |\n| &&
` }` && |\n| && | \}| && |\n| &&
`</script>` && |\n| && |</script>| && |\n| &&
`<script id="sap-ui-bootstrap" data-sap-ui-resourceroots='{ "z2ui5": "./" }' data-sap-ui-oninit="onInitComponent" ` && |\n| && |<script id="sap-ui-bootstrap" data-sap-ui-resourceroots='\{ "z2ui5": "./" \}' data-sap-ui-oninit="onInitComponent" | && |\n| &&
`data-sap-ui-compatVersion="edge" data-sap-ui-async="true" data-sap-ui-frameOptions="trusted" data-sap-ui-bindingSyntax="complex"` && |\n| && |data-sap-ui-compatVersion="edge" data-sap-ui-async="true" data-sap-ui-frameOptions="trusted" data-sap-ui-bindingSyntax="complex"| && |\n| &&
`data-sap-ui-theme="` && is_config-theme && `" src=" ` && is_config-src && `" `. |data-sap-ui-theme="{ is_config-theme }" src=" { is_config-src }" |.
LOOP AT is_config-t_add_config REFERENCE INTO DATA(lr_config). LOOP AT is_config-t_add_config REFERENCE INTO DATA(lr_config).
result = result && | { lr_config->n }='{ lr_config->v }'|. result = |{ result } { lr_config->n }='{ lr_config->v }'|.
ENDLOOP. ENDLOOP.
result = result && result = result &&
` ></script></head>` && |\n| && | ></script></head>| && |\n| &&
`<body class="sapUiBody sapUiSizeCompact" id="content">` && |\n| && |<body class="sapUiBody sapUiSizeCompact" id="content">| && |\n| &&
` <div data-sap-ui-component data-name="z2ui5" data-id="container" data-settings='{"id" : "z2ui5"}' data-handle-validation="true"></div>` && |\n| && | <div data-sap-ui-component data-name="z2ui5" data-id="container" data-settings='\{"id" : "z2ui5"\}' data-handle-validation="true"></div>| && |\n| &&
` </body></html>`. | </body></html>|.
ENDMETHOD. ENDMETHOD.
METHOD run. METHOD run.
DATA(lo_handler) = factory( DATA(lo_handler) = factory( server = server
server = server req = req
req = req res = res
res = res
). ).
lo_handler->main( config ). lo_handler->main( config ).
ENDMETHOD. ENDMETHOD.
METHOD set_request. METHOD set_request.
ms_req-body = mo_server->get_cdata( ). ms_req-body = mo_server->get_cdata( ).
ms_req-method = mo_server->get_method( ). ms_req-method = mo_server->get_method( ).
ENDMETHOD. ENDMETHOD.
METHOD set_response. METHOD set_response.
mo_server->set_cdata( ms_res-body ). mo_server->set_cdata( ms_res-body ).
mo_server->set_header_field( n = `cache-control` v = `no-cache` ). mo_server->set_header_field( n = `cache-control`
mo_server->set_status( code = 200 reason = `success` ). v = `no-cache` ).
mo_server->set_status( code = 200
reason = `success` ).
"transform cookie to header based contextid handling " transform cookie to header based contextid handling
IF ms_res-s_stateful-switched = abap_true. IF ms_res-s_stateful-switched = abap_true.
mo_server->set_session_stateful( ms_res-s_stateful-active ). mo_server->set_session_stateful( ms_res-s_stateful-active ).
IF mo_server->get_header_field( 'sap-contextid-accept' ) = 'header'. IF mo_server->get_header_field( 'sap-contextid-accept' ) = 'header'.
DATA(lv_contextid) = mo_server->get_response_cookie( 'sap-contextid' ). DATA(lv_contextid) = mo_server->get_response_cookie( 'sap-contextid' ).
IF lv_contextid IS NOT INITIAL. IF lv_contextid IS NOT INITIAL.
mo_server->delete_response_cookie( 'sap-contextid' ). mo_server->delete_response_cookie( 'sap-contextid' ).
mo_server->set_header_field( n = 'sap-contextid' v = lv_contextid ). mo_server->set_header_field( n = 'sap-contextid'
v = lv_contextid ).
ENDIF. ENDIF.
ENDIF. ENDIF.
ELSE. ELSE.
lv_contextid = mo_server->get_header_field( 'sap-contextid' ). lv_contextid = mo_server->get_header_field( 'sap-contextid' ).
IF lv_contextid IS NOT INITIAL. IF lv_contextid IS NOT INITIAL.
mo_server->set_header_field( n = 'sap-contextid' v = lv_contextid ). mo_server->set_header_field( n = 'sap-contextid'
v = lv_contextid ).
ENDIF. ENDIF.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD _http_post. METHOD _http_post.
IF so_sticky_handler IS NOT BOUND. IF so_sticky_handler IS NOT BOUND.
@ -280,7 +273,6 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD _main. METHOD _main.
CASE is_req-method. CASE is_req-method.
@ -294,47 +286,47 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
METHOD get_request. METHOD get_request.
DATA(lo_handler) = factory( DATA(lo_handler) = factory( server = server
server = server req = req
req = req res = res
res = res
). ).
result-body = lo_handler->mo_server->get_cdata( ). result-body = lo_handler->mo_server->get_cdata( ).
result-method = lo_handler->mo_server->get_method( ). result-method = lo_handler->mo_server->get_method( ).
ENDMETHOD. ENDMETHOD.
METHOD get_response. METHOD get_response.
DATA(lo_handler) = factory( DATA(lo_handler) = factory( server = server
server = server req = req
req = req res = res
res = res
). ).
lo_handler->mo_server->set_cdata( is_res-body ). lo_handler->mo_server->set_cdata( is_res-body ).
lo_handler->mo_server->set_header_field( n = `cache-control` v = `no-cache` ). lo_handler->mo_server->set_header_field( n = `cache-control`
lo_handler->mo_server->set_status( code = 200 reason = `success` ). v = `no-cache` ).
lo_handler->mo_server->set_status( code = 200
reason = `success` ).
"transform cookie to header based contextid handling " transform cookie to header based contextid handling
IF is_res-s_stateful-switched = abap_true. IF is_res-s_stateful-switched = abap_true.
lo_handler->mo_server->set_session_stateful( is_res-s_stateful-active ). lo_handler->mo_server->set_session_stateful( is_res-s_stateful-active ).
IF lo_handler->mo_server->get_header_field( 'sap-contextid-accept' ) = 'header'. IF lo_handler->mo_server->get_header_field( 'sap-contextid-accept' ) = 'header'.
DATA(lv_contextid) = lo_handler->mo_server->get_response_cookie( 'sap-contextid' ). DATA(lv_contextid) = lo_handler->mo_server->get_response_cookie( 'sap-contextid' ).
IF lv_contextid IS NOT INITIAL. IF lv_contextid IS NOT INITIAL.
lo_handler->mo_server->delete_response_cookie( 'sap-contextid' ). lo_handler->mo_server->delete_response_cookie( 'sap-contextid' ).
lo_handler->mo_server->set_header_field( n = 'sap-contextid' v = lv_contextid ). lo_handler->mo_server->set_header_field( n = 'sap-contextid'
v = lv_contextid ).
ENDIF. ENDIF.
ENDIF. ENDIF.
ELSE. ELSE.
lv_contextid = lo_handler->mo_server->get_header_field( 'sap-contextid' ). lv_contextid = lo_handler->mo_server->get_header_field( 'sap-contextid' ).
IF lv_contextid IS NOT INITIAL. IF lv_contextid IS NOT INITIAL.
lo_handler->mo_server->set_header_field( n = 'sap-contextid' v = lv_contextid ). lo_handler->mo_server->set_header_field( n = 'sap-contextid'
v = lv_contextid ).
ENDIF. ENDIF.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
ENDCLASS. ENDCLASS.

File diff suppressed because it is too large Load Diff

View File

@ -1,143 +1,141 @@
CLASS z2ui5_cl_xml_view_cc DEFINITION CLASS z2ui5_cl_xml_view_cc DEFINITION
PUBLIC PUBLIC FINAL
FINAL CREATE PUBLIC.
CREATE PUBLIC .
PUBLIC SECTION. PUBLIC SECTION.
METHODS multiinput_ext METHODS multiinput_ext
IMPORTING IMPORTING
!multiinputid TYPE clike OPTIONAL multiinputid TYPE clike OPTIONAL
!multiinputname TYPE clike OPTIONAL multiinputname TYPE clike OPTIONAL
!change TYPE clike OPTIONAL !change TYPE clike OPTIONAL
!addedtokens TYPE clike OPTIONAL addedtokens TYPE clike OPTIONAL
!removedtokens TYPE clike OPTIONAL removedtokens TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS uitableext METHODS uitableext
IMPORTING IMPORTING
!tableid TYPE clike OPTIONAL tableid TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS camera_picture METHODS camera_picture
IMPORTING IMPORTING
!id TYPE clike OPTIONAL !id TYPE clike OPTIONAL
!value TYPE clike OPTIONAL !value TYPE clike OPTIONAL
!press TYPE clike OPTIONAL press TYPE clike OPTIONAL
!autoplay TYPE clike OPTIONAL autoplay TYPE clike OPTIONAL
!onphoto TYPE clike OPTIONAL onphoto TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS bwip_js METHODS bwip_js
IMPORTING IMPORTING
!bcid TYPE clike OPTIONAL bcid TYPE clike OPTIONAL
!text TYPE clike OPTIONAL !text TYPE clike OPTIONAL
!scale TYPE clike OPTIONAL scale TYPE clike OPTIONAL
!height TYPE clike OPTIONAL height TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS demo_output METHODS demo_output
IMPORTING IMPORTING
!val TYPE clike OPTIONAL val TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS focus METHODS focus
IMPORTING IMPORTING
!focusid TYPE clike OPTIONAL focusid TYPE clike OPTIONAL
!selectionstart TYPE clike OPTIONAL selectionstart TYPE clike OPTIONAL
!selectionend TYPE clike OPTIONAL selectionend TYPE clike OPTIONAL
!setupdate TYPE clike OPTIONAL setupdate TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS geolocation METHODS geolocation
IMPORTING IMPORTING
!finished TYPE clike OPTIONAL finished TYPE clike OPTIONAL
!longitude TYPE any OPTIONAL longitude TYPE any OPTIONAL
!latitude TYPE any OPTIONAL latitude TYPE any OPTIONAL
!altitude TYPE any OPTIONAL altitude TYPE any OPTIONAL
!accuracy TYPE any OPTIONAL accuracy TYPE any OPTIONAL
!altitudeaccuracy TYPE any OPTIONAL altitudeaccuracy TYPE any OPTIONAL
!speed TYPE any OPTIONAL speed TYPE any OPTIONAL
!heading TYPE any OPTIONAL !heading TYPE any OPTIONAL
!enablehighaccuracy TYPE any OPTIONAL enablehighaccuracy TYPE any OPTIONAL
!timeout TYPE any OPTIONAL timeout TYPE any OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS info_frontend METHODS info_frontend
IMPORTING IMPORTING
!finished TYPE clike OPTIONAL finished TYPE clike OPTIONAL
!ui5_version TYPE clike OPTIONAL ui5_version TYPE clike OPTIONAL
!device_height TYPE clike OPTIONAL device_height TYPE clike OPTIONAL
!device_width TYPE clike OPTIONAL device_width TYPE clike OPTIONAL
!device_phone TYPE clike OPTIONAL device_phone TYPE clike OPTIONAL
!device_desktop TYPE clike OPTIONAL device_desktop TYPE clike OPTIONAL
!device_tablet TYPE clike OPTIONAL device_tablet TYPE clike OPTIONAL
!device_combi TYPE clike OPTIONAL device_combi TYPE clike OPTIONAL
!ui5_gav TYPE clike OPTIONAL ui5_gav TYPE clike OPTIONAL
!ui5_theme TYPE clike OPTIONAL ui5_theme TYPE clike OPTIONAL
!device_os TYPE clike OPTIONAL device_os TYPE clike OPTIONAL
!device_systemtype TYPE clike OPTIONAL device_systemtype TYPE clike OPTIONAL
!device_browser TYPE clike OPTIONAL device_browser TYPE clike OPTIONAL
PREFERRED PARAMETER finished PREFERRED PARAMETER finished
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS spreadsheet_export METHODS spreadsheet_export
IMPORTING IMPORTING
!tableid TYPE clike tableid TYPE clike
!type TYPE clike OPTIONAL !type TYPE clike OPTIONAL
!text TYPE clike OPTIONAL !text TYPE clike OPTIONAL
!icon TYPE clike OPTIONAL !icon TYPE clike OPTIONAL
!tooltip TYPE clike OPTIONAL tooltip TYPE clike OPTIONAL
!columnconfig TYPE clike OPTIONAL columnconfig TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS file_uploader METHODS file_uploader
IMPORTING IMPORTING
!value TYPE clike OPTIONAL !value TYPE clike OPTIONAL
!path TYPE clike OPTIONAL !path TYPE clike OPTIONAL
!placeholder TYPE clike OPTIONAL placeholder TYPE clike OPTIONAL
!upload TYPE clike OPTIONAL upload TYPE clike OPTIONAL
!icononly TYPE clike OPTIONAL icononly TYPE clike OPTIONAL
!buttononly TYPE clike OPTIONAL buttononly TYPE clike OPTIONAL
!buttontext TYPE clike OPTIONAL buttontext TYPE clike OPTIONAL
!uploadbuttontext TYPE clike OPTIONAL uploadbuttontext TYPE clike OPTIONAL
!checkdirectupload TYPE clike OPTIONAL checkdirectupload TYPE clike OPTIONAL
!filetype TYPE clike OPTIONAL filetype TYPE clike OPTIONAL
!icon TYPE clike OPTIONAL !icon TYPE clike OPTIONAL
!enabled TYPE clike OPTIONAL !enabled TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS messaging METHODS messaging
IMPORTING IMPORTING
!items TYPE clike OPTIONAL items TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS message_manager METHODS message_manager
IMPORTING IMPORTING
!items TYPE clike OPTIONAL items TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS title METHODS title
IMPORTING IMPORTING
!title TYPE clike OPTIONAL !title TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dirty METHODS dirty
IMPORTING IMPORTING
!isdirty TYPE clike OPTIONAL isdirty TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view. VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
@ -145,134 +143,134 @@ CLASS z2ui5_cl_xml_view_cc DEFINITION
IMPORTING IMPORTING
!title TYPE clike OPTIONAL !title TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS history METHODS history
IMPORTING IMPORTING
!search TYPE clike OPTIONAL !search TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS scrolling METHODS scrolling
IMPORTING IMPORTING
!setupdate TYPE clike OPTIONAL setupdate TYPE clike OPTIONAL
!items TYPE clike OPTIONAL items TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS timer METHODS timer
IMPORTING IMPORTING
!finished TYPE clike OPTIONAL finished TYPE clike OPTIONAL
!delayms TYPE clike OPTIONAL delayms TYPE clike OPTIONAL
!checkrepeat TYPE clike OPTIONAL checkrepeat TYPE clike OPTIONAL
!checkactive TYPE clike OPTIONAL checkactive TYPE clike OPTIONAL
PREFERRED PARAMETER finished PREFERRED PARAMETER finished
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS websocket METHODS websocket
IMPORTING IMPORTING
!value TYPE clike OPTIONAL !value TYPE clike OPTIONAL
!received TYPE clike OPTIONAL !received TYPE clike OPTIONAL
!path TYPE clike OPTIONAL !path TYPE clike OPTIONAL
!checkrepeat TYPE clike OPTIONAL checkrepeat TYPE clike OPTIONAL
!checkactive TYPE clike OPTIONAL checkactive TYPE clike OPTIONAL
PREFERRED PARAMETER received PREFERRED PARAMETER received
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS binding_update METHODS binding_update
IMPORTING IMPORTING
!changed TYPE clike OPTIONAL changed TYPE clike OPTIONAL
!path TYPE clike OPTIONAL !path TYPE clike OPTIONAL
PREFERRED PARAMETER changed PREFERRED PARAMETER changed
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS chartjs METHODS chartjs
IMPORTING IMPORTING
!canvas_id TYPE clike OPTIONAL canvas_id TYPE clike OPTIONAL
!view TYPE clike OPTIONAL view TYPE clike OPTIONAL
!config TYPE clike OPTIONAL config TYPE clike OPTIONAL
!height TYPE clike OPTIONAL height TYPE clike OPTIONAL
!width TYPE clike OPTIONAL !width TYPE clike OPTIONAL
!style TYPE clike OPTIONAL !style TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS favicon METHODS favicon
IMPORTING IMPORTING
!favicon TYPE clike OPTIONAL favicon TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS approve_popover METHODS approve_popover
IMPORTING IMPORTING
!placement TYPE clike OPTIONAL placement TYPE clike OPTIONAL
!class TYPE clike OPTIONAL !class TYPE clike OPTIONAL
!text TYPE clike OPTIONAL !text TYPE clike OPTIONAL
!btn_txt TYPE clike OPTIONAL btn_txt TYPE clike OPTIONAL
!btn_type TYPE clike OPTIONAL btn_type TYPE clike OPTIONAL
!btn_icon TYPE clike OPTIONAL btn_icon TYPE clike OPTIONAL
!btn_event TYPE clike OPTIONAL btn_event TYPE clike OPTIONAL
RETURNING RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view . VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS constructor METHODS constructor
IMPORTING IMPORTING
!view TYPE REF TO z2ui5_cl_xml_view . view TYPE REF TO z2ui5_cl_xml_view.
PROTECTED SECTION. PROTECTED SECTION.
DATA mo_view TYPE REF TO z2ui5_cl_xml_view. DATA mo_view TYPE REF TO z2ui5_cl_xml_view.
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION. CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
METHOD approve_popover. METHOD approve_popover.
result = mo_view. result = mo_view.
mo_view->popover( showheader = abap_false placement = placement class = class )->hbox( justifycontent = `Center` mo_view->popover( showheader = abap_false
)->vbox( justifycontent = `Center` alignitems = `Center` placement = placement
class = class )->hbox( justifycontent = `Center`
)->vbox( justifycontent = `Center`
alignitems = `Center`
)->text( text )->text( text
)->button( type = btn_type text = btn_txt icon = btn_icon press = btn_event ). )->button( type = btn_type
text = btn_txt
icon = btn_icon
press = btn_event ).
ENDMETHOD. ENDMETHOD.
METHOD bwip_js. METHOD bwip_js.
result = mo_view. result = mo_view.
mo_view->_generic( name = `bwipjs` mo_view->_generic( name = `bwipjs`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `bcid` v = bcid ) t_prop = VALUE #( ( n = `bcid` v = bcid )
( n = `text` v = text ) ( n = `text` v = text )
( n = `scale` v = scale ) ( n = `scale` v = scale )
( n = `height` v = height ) ( n = `height` v = height )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD camera_picture. METHOD camera_picture.
result = mo_view. result = mo_view.
mo_view->_generic( name = `CameraPicture` mo_view->_generic( name = `CameraPicture`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( t_prop = VALUE #( ( n = `id` v = id )
( n = `id` v = id ) ( n = `value` v = value )
( n = `value` v = value ) ( n = `press` v = press )
( n = `press` v = press ) ( n = `OnPhoto` v = onphoto )
( n = `OnPhoto` v = onphoto ) ( n = `autoplay` v = z2ui5_cl_util=>boolean_abap_2_json( autoplay ) )
( n = `autoplay` v = z2ui5_cl_util=>boolean_abap_2_json( autoplay ) ) ) ).
) ).
ENDMETHOD. ENDMETHOD.
METHOD chartjs. METHOD chartjs.
result = mo_view. result = mo_view.
mo_view->_generic( name = `chartjs` mo_view->_generic( name = `chartjs`
@ -286,273 +284,254 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD constructor. METHOD constructor.
me->mo_view = view. mo_view = view.
ENDMETHOD. ENDMETHOD.
METHOD demo_output. METHOD demo_output.
DATA lv_style TYPE string. DATA lv_style TYPE string.
"make it run without syntax error also when CC are deleted (for example for downports)) " make it run without syntax error also when CC are deleted (for example for downports))
mo_view->_generic( ns = `html` mo_view->_generic( ns = `html`
name = `style` ). name = `style` ).
DATA(lv_class) = 'Z2UI5_CL_CC_DEMO_OUT'. DATA(lv_class) = 'Z2UI5_CL_CC_DEMO_OUT'.
CALL METHOD (lv_class)=>('GET_STYLE') CALL METHOD (lv_class)=>('GET_STYLE')
RECEIVING RECEIVING result = lv_style.
result = lv_style.
result = mo_view->_cc_plain_xml( lv_style )->html( val ). result = mo_view->_cc_plain_xml( lv_style )->html( val ).
ENDMETHOD. ENDMETHOD.
METHOD favicon. METHOD favicon.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Favicon` mo_view->_generic( name = `Favicon`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `favicon` v = favicon ) ) ). t_prop = VALUE #( ( n = `favicon` v = favicon ) ) ).
ENDMETHOD. ENDMETHOD.
METHOD file_uploader. METHOD file_uploader.
result = mo_view. result = mo_view.
mo_view->_generic( name = `FileUploader` mo_view->_generic(
ns = `z2ui5` name = `FileUploader`
t_prop = VALUE #( ( n = `placeholder` v = placeholder ) ns = `z2ui5`
( n = `upload` v = upload ) t_prop = VALUE #( ( n = `placeholder` v = placeholder )
( n = `path` v = path ) ( n = `upload` v = upload )
( n = `value` v = value ) ( n = `path` v = path )
( n = `iconOnly` v = z2ui5_cl_util=>boolean_abap_2_json( icononly ) ) ( n = `value` v = value )
( n = `buttonOnly` v = z2ui5_cl_util=>boolean_abap_2_json( buttononly ) ) ( n = `iconOnly` v = z2ui5_cl_util=>boolean_abap_2_json( icononly ) )
( n = `buttonText` v = buttontext ) ( n = `buttonOnly` v = z2ui5_cl_util=>boolean_abap_2_json( buttononly ) )
( n = `uploadButtonText` v = uploadbuttontext ) ( n = `buttonText` v = buttontext )
( n = `fileType` v = filetype ) ( n = `uploadButtonText` v = uploadbuttontext )
( n = `checkDirectUpload` v = z2ui5_cl_util=>boolean_abap_2_json( checkdirectupload ) ) ( n = `fileType` v = filetype )
( n = `icon` v = icon ) ( n = `checkDirectUpload` v = z2ui5_cl_util=>boolean_abap_2_json( checkdirectupload ) )
( n = `enabled` v = z2ui5_cl_util=>boolean_abap_2_json( enabled ) ) ) ). ( n = `icon` v = icon )
( n = `enabled` v = z2ui5_cl_util=>boolean_abap_2_json( enabled ) ) ) ).
ENDMETHOD. ENDMETHOD.
METHOD focus. METHOD focus.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Focus` mo_view->_generic( name = `Focus`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( t_prop = VALUE #( ( n = `setUpdate` v = setupdate )
( n = `setUpdate` v = setupdate ) ( n = `selectionStart` v = selectionstart )
( n = `selectionStart` v = selectionstart ) ( n = `selectionEnd` v = selectionend )
( n = `selectionEnd` v = selectionend ) ( n = `focusId` v = focusid )
( n = `focusId` v = focusid ) ) ).
) ).
ENDMETHOD. ENDMETHOD.
METHOD geolocation. METHOD geolocation.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Geolocation` mo_view->_generic( name = `Geolocation`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( t_prop = VALUE #(
( n = `finished` v = finished ) ( n = `finished` v = finished )
( n = `longitude` v = longitude ) ( n = `longitude` v = longitude )
( n = `latitude` v = latitude ) ( n = `latitude` v = latitude )
( n = `altitude` v = altitude ) ( n = `altitude` v = altitude )
( n = `accuracy` v = accuracy ) ( n = `accuracy` v = accuracy )
( n = `altitudeAccuracy` v = altitudeaccuracy ) ( n = `altitudeAccuracy` v = altitudeaccuracy )
( n = `speed` v = speed ) ( n = `speed` v = speed )
( n = `heading` v = heading ) ( n = `heading` v = heading )
( n = `enableHighAccuracy` v = z2ui5_cl_util=>boolean_abap_2_json( enablehighaccuracy ) ) ( n = `enableHighAccuracy` v = z2ui5_cl_util=>boolean_abap_2_json( enablehighaccuracy ) )
( n = `timeout` v = timeout ) ( n = `timeout` v = timeout )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD history. METHOD history.
result = mo_view. result = mo_view.
mo_view->_generic( name = `History` mo_view->_generic( name = `History`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `search` v = search ) ) ). t_prop = VALUE #( ( n = `search` v = search ) ) ).
ENDMETHOD. ENDMETHOD.
METHOD info_frontend. METHOD info_frontend.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Info` mo_view->_generic( name = `Info`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `ui5_version` v = ui5_version ) t_prop = VALUE #( ( n = `ui5_version` v = ui5_version )
( n = `ui5_gav` v = ui5_gav ) ( n = `ui5_gav` v = ui5_gav )
( n = `finished` v = finished ) ( n = `finished` v = finished )
( n = `ui5_theme` v = ui5_theme ) ( n = `ui5_theme` v = ui5_theme )
( n = `device_os` v = device_os ) ( n = `device_os` v = device_os )
( n = `device_systemtype` v = device_systemtype ) ( n = `device_systemtype` v = device_systemtype )
( n = `device_browser` v = device_browser ) ( n = `device_browser` v = device_browser )
( n = `device_phone` v = device_phone ) ( n = `device_phone` v = device_phone )
( n = `device_desktop` v = device_desktop ) ( n = `device_desktop` v = device_desktop )
( n = `device_tablet` v = device_tablet ) ( n = `device_tablet` v = device_tablet )
( n = `device_combi` v = device_combi ) ( n = `device_combi` v = device_combi )
( n = `device_height` v = device_height ) ( n = `device_height` v = device_height )
( n = `device_width` v = device_width ) ) ( n = `device_width` v = device_width ) )
). ).
ENDMETHOD. ENDMETHOD.
METHOD message_manager. METHOD message_manager.
result = mo_view. result = mo_view.
mo_view->_generic( name = `MessageManager` mo_view->_generic( name = `MessageManager`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `items` v = items ) t_prop = VALUE #( ( n = `items` v = items )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD messaging. METHOD messaging.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Messaging` mo_view->_generic( name = `Messaging`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `items` v = items ) t_prop = VALUE #( ( n = `items` v = items )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD multiinput_ext. METHOD multiinput_ext.
result = mo_view. result = mo_view.
mo_view->_generic( name = `MultiInputExt` mo_view->_generic( name = `MultiInputExt`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( t_prop = VALUE #( ( n = `MultiInputId` v = multiinputid )
( n = `MultiInputId` v = multiinputid ) ( n = `MultiInputName` v = multiinputname )
( n = `MultiInputName` v = multiinputname )
( n = `change` v = change ) ( n = `change` v = change )
( n = `addedTokens` v = addedtokens ) ( n = `addedTokens` v = addedtokens )
( n = `removedTokens` v = removedtokens ) ) ). ( n = `removedTokens` v = removedtokens ) ) ).
ENDMETHOD. ENDMETHOD.
METHOD scrolling. METHOD scrolling.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Scrolling` mo_view->_generic( name = `Scrolling`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( t_prop = VALUE #( ( n = `setUpdate` v = setupdate )
( n = `setUpdate` v = setupdate ) ( n = `items` v = items )
( n = `items` v = items ) ) ).
) ).
ENDMETHOD. ENDMETHOD.
METHOD spreadsheet_export. METHOD spreadsheet_export.
result = mo_view. result = mo_view.
mo_view->_generic( name = `ExportSpreadsheet` mo_view->_generic( name = `ExportSpreadsheet`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `tableId` v = tableid ) t_prop = VALUE #( ( n = `tableId` v = tableid )
( n = `text` v = text ) ( n = `text` v = text )
( n = `icon` v = icon ) ( n = `icon` v = icon )
( n = `type` v = type ) ( n = `type` v = type )
( n = `tooltip` v = tooltip ) ( n = `tooltip` v = tooltip )
( n = `columnconfig` v = columnconfig ) ( n = `columnconfig` v = columnconfig )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD timer. METHOD timer.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Timer` mo_view->_generic( name = `Timer`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `delayMS` v = delayms ) t_prop = VALUE #( ( n = `delayMS` v = delayms )
( n = `finished` v = finished ) ( n = `finished` v = finished )
( n = `checkActive` v = z2ui5_cl_util=>boolean_abap_2_json( checkactive ) ) ( n = `checkActive` v = z2ui5_cl_util=>boolean_abap_2_json( checkactive ) )
( n = `checkRepeat` v = z2ui5_cl_util=>boolean_abap_2_json( checkrepeat ) ) ( n = `checkRepeat` v = z2ui5_cl_util=>boolean_abap_2_json( checkrepeat ) )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD binding_update. METHOD binding_update.
result = mo_view. result = mo_view.
mo_view->_generic( name = `BindingUpdate` mo_view->_generic( name = `BindingUpdate`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( t_prop = VALUE #(
* ( n = `value` v = value ) * ( n = `value` v = value )
( n = `path` v = path ) ( n = `path` v = path )
( n = `changed` v = changed ) ( n = `changed` v = changed )
* ( n = `checkActive` v = z2ui5_cl_util=>boolean_abap_2_json( checkactive ) ) * ( n = `checkActive` v = z2ui5_cl_util=>boolean_abap_2_json( checkactive ) )
* ( n = `checkRepeat` v = z2ui5_cl_util=>boolean_abap_2_json( checkrepeat ) ) * ( n = `checkRepeat` v = z2ui5_cl_util=>boolean_abap_2_json( checkrepeat ) )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD websocket. METHOD websocket.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Websocket` mo_view->_generic( name = `Websocket`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `value` v = value ) t_prop = VALUE #( ( n = `value` v = value )
( n = `path` v = path ) ( n = `path` v = path )
( n = `received` v = received ) ( n = `received` v = received )
( n = `checkActive` v = z2ui5_cl_util=>boolean_abap_2_json( checkactive ) ) ( n = `checkActive` v = z2ui5_cl_util=>boolean_abap_2_json( checkactive ) )
( n = `checkRepeat` v = z2ui5_cl_util=>boolean_abap_2_json( checkrepeat ) ) ( n = `checkRepeat` v = z2ui5_cl_util=>boolean_abap_2_json( checkrepeat ) )
) ). ) ).
ENDMETHOD. ENDMETHOD.
METHOD lp_title. METHOD lp_title.
result = mo_view. result = mo_view.
mo_view->_generic( name = `LPTitle` mo_view->_generic( name = `LPTitle`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `title` v = title ) ) ). t_prop = VALUE #( ( n = `title` v = title ) ) ).
ENDMETHOD. ENDMETHOD.
METHOD title. METHOD title.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Title` mo_view->_generic( name = `Title`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `title` v = title ) ) ). t_prop = VALUE #( ( n = `title` v = title ) ) ).
ENDMETHOD. ENDMETHOD.
METHOD dirty. METHOD dirty.
result = mo_view. result = mo_view.
mo_view->_generic( name = `Dirty` mo_view->_generic( name = `Dirty`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `isDirty` v = z2ui5_cl_util=>boolean_abap_2_json( isdirty ) ) ) ). t_prop = VALUE #( ( n = `isDirty` v = z2ui5_cl_util=>boolean_abap_2_json( isdirty ) ) ) ).
ENDMETHOD. ENDMETHOD.
METHOD uitableext. METHOD uitableext.
result = mo_view->_generic( name = `UITableExt` result = mo_view->_generic( name = `UITableExt`
ns = `z2ui5` ns = `z2ui5`
t_prop = VALUE #( ( n = `tableId` v = tableid ) t_prop = VALUE #( ( n = `tableId` v = tableid )
) ). ) ).
ENDMETHOD. ENDMETHOD.
ENDCLASS. ENDCLASS.