project reorganization + custom controls + view controls (#610)

* Update package.devc.xml

* Update package.devc.xml

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* updates renaming and cc organization

* update xml view with mapcontainer

* mapcontainer control

* update package assignment of z2ui5_client

* Update README.md

* Update README.md

* Update README.md
This commit is contained in:
oblomov 2023-10-31 19:22:30 +01:00 committed by GitHub
parent b89d620469
commit 53b2f045fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 868 additions and 145 deletions

View File

@ -11,12 +11,12 @@
</p>
#### Key Features
* easy to use implement just one interface for a standalone UI5 application
* pure ABAP development using 100% ABAP (no JavaScript, DDL, EML or Customizing)
* low system footprint based on a plain HTTP handler (no BSP, OData, CDS, BOPF or RAP)
* cloud and on-premise ready works with both language versions (ABAP for Cloud, Standard ABAP)
* high system compatibility runs on all ABAP releases (from NW 7.02 to ABAP 2311)
* easy installation abapGit project, no additional app deployment needed
* Easy to use implement just one interface for a standalone UI5 application
* Pure ABAP development using 100% ABAP (no JavaScript, DDL, EML or Customizing)
* Low system footprint based on a plain HTTP handler (no BSP, OData, CDS, BOPF or RAP)
* Cloud and on-premise ready works with both language versions (ABAP for Cloud, Standard ABAP)
* High system compatibility runs on all ABAP releases (from NW 7.02 to ABAP 2311)
* Easy installation abapGit project, no additional app deployment needed
#### Compatibility
* BTP ABAP Environment (ABAP for Cloud)
@ -42,20 +42,20 @@
* Featured in the Boring Enterprise Nerdletter [(newsletter - 08.03.2023)](https://boringenterprisenerds.substack.com/p/34-abap2ui5-sap-cva-burnout-c2c-shortwave)
* Part of the SAP Developer Code Challenge [(community - 17.05.2023)](https://groups.community.sap.com/t5/application-development/sap-developer-code-challenge-open-source-abap-week-2/m-p/260727#M1372)
#### More
* Try out abap2UI5 compiled to JS on open-abap under Node.js [(abap2UI5-web)](https://twitter.com/LarsHvam/status/1648575595897405446)
* Install S-RTTI to create apps with dynamically typed tables [(github/s-rtti)](https://github.com/sandraros/S-RTTI)
* Import & Export Excel files in pure ABAP with abap2xslt [(twitter/xslt)](https://twitter.com/abap2UI5/status/1703787345588162907)
* Analyse your Views & Models with this Codesandbox [(abap2UI5-debug-tools)](https://codesandbox.io/p/sandbox/abap2ui5-debug-tool-ppyfcs)
#### Apps & Extensions
* Add your apps to SAP Fiori On-Premise Launchpad [(ext-fiori_launchpad)](https://github.com/abap2UI5/ext-service_integration)
* Integrate your apps with the SAP Business Technology Platform [(ext-btp)](https://github.com/abap2UI5/ext-business_technology_platform)
* Explore abap2UI5-tools, a collection of tools & utility functions [(abap2UI5-tools)](https://github.com/abap2UI5/abap2ui5-tools)
* Add more functions with Custom Controls & External Libraries [(custom controls)](https://github.com/abap2UI5/abap2UI5-documentation/blob/main/docs/custom_controls.md)
* Discover other projects using abap2UI5 [(abap2UI5/links)](https://github.com/abap2UI5/abap2UI5-documentation/blob/main/docs/links.md)
* And finally, don't forget to explore the [Samples Repository 🧭](https://github.com/abap2UI5/abap2UI5-samples)
#### More
* Try out abap2UI5 compiled to JS on open-abap under Node.js [(abap2UI5-web)](https://twitter.com/LarsHvam/status/1648575595897405446)
* Install S-RTTI to create apps with dynamically typed tables [(github/s-rtti)](https://github.com/sandraros/S-RTTI)
* Import & Export Excel files in pure ABAP with abap2xslt [(twitter/xslt)](https://twitter.com/abap2UI5/status/1703787345588162907)
* Analyse your Views & Models with this Codesandbox [(abap2UI5-debug-tools)](https://codesandbox.io/p/sandbox/abap2ui5-debug-tool-ppyfcs)
* And finally, don't forget to explore the [Samples Repository 🧭](https://github.com/abap2UI5/abap2UI5-samples)
#### Installation
Install with [abapGit](https://abapgit.org) ![abapGit](https://docs.abapgit.org/img/favicon.png) and create a new HTTP service with the following handler:
##### Standard ABAP 🏠
@ -86,8 +86,43 @@ METHOD if_http_service_extension~handle_request.
ENDMETHOD.
```
#### Usage
Develop UI5 Apps by implementing the abap2UI5 interface:
```abap
CLASS z2ui5_cl_app_hello_world DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES z2ui5_if_app.
DATA product TYPE string.
DATA quantity TYPE string.
ENDCLASS.
CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
METHOD z2ui5_if_app~main.
CASE client->get( )-event.
WHEN 'BUTTON_POST'.
client->message_toast_display( |{ product } { quantity } - send to the server| ).
ENDCASE.
client->view_display( z2ui5_cl_xml_view=>factory( client
)->page( 'abap2UI5 - Hello World App'
)->simple_form( )->content( ns = `form`
)->title( 'Input here and send it to the server...'
)->label( 'quantity'
)->input( client->_bind_edit( quantity )
)->label( 'product'
)->input( client->_bind_edit( product )
)->button( text = 'post' press = client->_event( 'BUTTON_POST' )
)->stringify( ) ).
ENDMETHOD.
ENDCLASS.
```
#### FAQ
* check out the [documentation](https://github.com/abap2UI5/abap2UI5-documentation/) for installation & configuration guidelines
* still open questions? find an answer in the [FAQ](https://github.com/abap2UI5/abap2UI5-documentation/blob/main/docs/faq.md)
* want to help out? Check out the contribution [guidelines](https://github.com/abap2UI5/abap2UI5-documentation/blob/main/CONTRIBUTING.md)
* as always - your comments, questions, wishes and bugs are welcome, please create an [issue](https://github.com/abap2UI5/abap2UI5/issues)
* Check out the [documentation](https://github.com/abap2UI5/abap2UI5-documentation/) for installation & configuration guidelines
* Still have open questions? find an answer in the [FAQ](https://github.com/abap2UI5/abap2UI5-documentation/blob/main/docs/faq.md)
* Want to help out? Check out the contribution [guidelines](https://github.com/abap2UI5/abap2UI5-documentation/blob/main/CONTRIBUTING.md)
* As always - your comments, questions, wishes and bug reports are welcome, please create an [issue](https://github.com/abap2UI5/abap2UI5/issues)

View File

@ -187,7 +187,7 @@ ENDCLASS.
CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
CLASS Z2UI5_CL_FW_UTILITY IMPLEMENTATION.
METHOD boolean_abap_2_json.
@ -215,6 +215,24 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
ENDMETHOD.
METHOD c_replace_assign_struc.
rv_attri = iv_attri.
DATA(lv_length) = strlen( rv_attri ) - 2.
DATA(lv_attri_end) = rv_attri+lv_length.
IF lv_attri_end = `>*`.
lv_attri_end = `>`.
lv_length = lv_length.
ELSE.
lv_attri_end = `-`.
lv_length = lv_length + 2.
ENDIF.
rv_attri = rv_attri(lv_length) && lv_attri_end.
ENDMETHOD.
METHOD c_trim.
result = shift_left( shift_right( CONV string( val ) ) ).
@ -239,46 +257,10 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
ENDMETHOD.
METHOD time_get_timestampl.
GET TIME STAMP FIELD result.
ENDMETHOD.
METHOD time_substract_seconds.
result = cl_abap_tstmp=>subtractsecs( tstmp = time secs = seconds ).
ENDMETHOD.
METHOD func_get_user_tech.
result = sy-uname.
ENDMETHOD.
METHOD func_get_uuid_32.
TRY.
DATA uuid TYPE c LENGTH 32.
TRY.
CALL METHOD (`CL_SYSTEM_UUID`)=>if_system_uuid_static~create_uuid_c32
RECEIVING
uuid = uuid.
CATCH cx_sy_dyn_call_illegal_class.
DATA(lv_fm) = `GUID_CREATE`.
CALL FUNCTION lv_fm
IMPORTING
ev_guid_32 = uuid.
ENDTRY.
result = uuid.
CATCH cx_root.
ASSERT 1 = 0.
ENDTRY.
ENDMETHOD.
METHOD func_get_uuid_22.
@ -313,6 +295,42 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
ENDMETHOD.
METHOD func_get_uuid_32.
TRY.
DATA uuid TYPE c LENGTH 32.
TRY.
CALL METHOD (`CL_SYSTEM_UUID`)=>if_system_uuid_static~create_uuid_c32
RECEIVING
uuid = uuid.
CATCH cx_sy_dyn_call_illegal_class.
DATA(lv_fm) = `GUID_CREATE`.
CALL FUNCTION lv_fm
IMPORTING
ev_guid_32 = uuid.
ENDTRY.
result = uuid.
CATCH cx_root.
ASSERT 1 = 0.
ENDTRY.
ENDMETHOD.
METHOD rtti_check_type_kind_dref.
DATA(lv_type_kind) = cl_abap_datadescr=>get_data_type_kind( val ).
result = xsdbool( lv_type_kind = cl_abap_typedescr=>typekind_dref ).
ENDMETHOD.
METHOD rtti_get_classname_by_ref.
DATA(lv_classname) = cl_abap_classdescr=>get_class_name( in ).
@ -321,18 +339,13 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
ENDMETHOD.
METHOD rtti_get_type_kind.
result = cl_abap_datadescr=>get_data_type_kind( val ).
ENDMETHOD.
METHOD rtti_check_type_kind_dref.
DATA(lv_type_kind) = cl_abap_datadescr=>get_data_type_kind( val ).
result = xsdbool( lv_type_kind = cl_abap_typedescr=>typekind_dref ).
ENDMETHOD.
METHOD rtti_get_type_name.
@ -420,40 +433,16 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
ENDMETHOD.
METHOD trans_json_any_2.
result = /ui2/cl_json=>serialize( data = any pretty_name = conv #( pretty_name ) ).
METHOD time_get_timestampl.
GET TIME STAMP FIELD result.
ENDMETHOD.
METHOD trans_xml_any_2.
CALL TRANSFORMATION id
SOURCE data = any
RESULT XML result
OPTIONS data_refs = `heap-or-create`.
METHOD time_substract_seconds.
result = cl_abap_tstmp=>subtractsecs( tstmp = time secs = seconds ).
ENDMETHOD.
METHOD c_replace_assign_struc.
rv_attri = iv_attri.
DATA(lv_length) = strlen( rv_attri ) - 2.
DATA(lv_attri_end) = rv_attri+lv_length.
IF lv_attri_end = `>*`.
lv_attri_end = `>`.
lv_length = lv_length.
ELSE.
lv_attri_end = `-`.
lv_length = lv_length + 2.
ENDIF.
rv_attri = rv_attri(lv_length) && lv_attri_end.
ENDMETHOD.
METHOD trans_json_2_any.
/ui2/cl_json=>deserialize(
@ -465,6 +454,14 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
ENDMETHOD.
METHOD trans_json_any_2.
result = /ui2/cl_json=>serialize( data = any pretty_name = conv #( pretty_name ) ).
ENDMETHOD.
METHOD trans_ref_tab_2_tab.
TYPES ty_t_ref TYPE STANDARD TABLE OF REF TO data.
@ -554,6 +551,16 @@ CLASS z2ui5_cl_fw_utility IMPLEMENTATION.
ENDMETHOD.
METHOD trans_xml_any_2.
CALL TRANSFORMATION id
SOURCE data = any
RESULT XML result
OPTIONS data_refs = `heap-or-create`.
ENDMETHOD.
METHOD url_param_create_url.
LOOP AT t_params INTO DATA(ls_param).

View File

@ -33,6 +33,18 @@ CLASS z2ui5_cl_cc_factory DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_driver_js.
METHODS timer
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_timer.
METHODS info
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_info.
METHODS geolocation
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_cc_geolocation.
PROTECTED SECTION.
DATA mo_view TYPE REF TO z2ui5_cl_xml_view.
@ -43,6 +55,17 @@ ENDCLASS.
CLASS Z2UI5_CL_CC_FACTORY IMPLEMENTATION.
METHOD info.
result = NEW #( mo_view ).
ENDMETHOD.
METHOD timer.
result = NEW #( mo_view ).
ENDMETHOD.
METHOD bwip_js.
@ -91,4 +114,11 @@ CLASS Z2UI5_CL_CC_FACTORY IMPLEMENTATION.
result = NEW #( mo_view ).
ENDMETHOD.
METHOD GEOLOCATION.
result = NEW #( mo_view ).
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,164 @@
CLASS z2ui5_cl_cc_geolocation DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
METHODS constructor
IMPORTING
view TYPE REF TO z2ui5_cl_xml_view.
METHODS control
IMPORTING
finished TYPE clike OPTIONAL
longitude TYPE any OPTIONAL
latitude TYPE any OPTIONAL
altitude TYPE any OPTIONAL
accuracy TYPE any OPTIONAL
altitudeaccuracy TYPE any OPTIONAL
speed TYPE any OPTIONAL
heading TYPE any OPTIONAL
enablehighaccuracy TYPE any OPTIONAL
timeout TYPE any OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS load_cc
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
PROTECTED SECTION.
DATA mo_view TYPE REF TO z2ui5_cl_xml_view.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_cc_geolocation IMPLEMENTATION.
METHOD constructor.
me->mo_view = view.
ENDMETHOD.
METHOD control.
result = mo_view.
mo_view->_generic( name = `CCGeolocation`
ns = `z2ui5`
t_prop = VALUE #(
( n = `finished` v = finished )
( n = `longitude` v = longitude )
( n = `latitude` v = latitude )
( n = `altitude` v = altitude )
( n = `accuracy` v = accuracy )
( n = `altitudeAccuracy` v = altitudeaccuracy )
( n = `speed` v = speed )
( n = `heading` v = heading )
( n = `enableHighAccuracy` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( enablehighaccuracy ) )
( n = `timeout` v = timeout )
) ).
ENDMETHOD.
METHOD load_cc.
DATA(js) = ` jQuery.sap.declare("z2ui5.CCGeolocation");` && |\n| &&
`sap.ui.require([` && |\n| &&
` "sap/ui/core/Control"` && |\n| &&
`], (Control) => {` && |\n| &&
` "use strict";` && |\n| &&
|\n| &&
` return Control.extend("z2ui5.CCGeolocation", {` && |\n| &&
` metadata : {` && |\n| &&
` properties: {` && |\n| &&
` longitude: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` latitude: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` altitude: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` accuracy: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` altitudeAccuracy: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` speed: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: false` && |\n| &&
` },` && |\n| &&
` heading: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: false` && |\n| &&
` },` && |\n| &&
` enableHighAccuracy: {` && |\n| &&
` type: "boolean",` && |\n| &&
` defaultValue: false` && |\n| &&
` },` && |\n| &&
` timeout: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: "5000"` && |\n| &&
` }` && |\n| &&
` },` && |\n| &&
` events: {` && |\n| &&
` "finished": { ` && |\n| &&
` allowPreventDefault: true,` && |\n| &&
` parameters: {},` && |\n| &&
` }` && |\n| &&
` }` && |\n| &&
` },` && |\n| &&
|\n| &&
` callbackPosition(position){` && |\n| &&
|\n| &&
` var test = position.coords.longitude` && |\n| &&
` this.setProperty("longitude", position.coords.longitude , true);` && |\n| &&
` this.setProperty("latitude", position.coords.latitude , true);` && |\n| &&
` this.setProperty("altitude", position.coords.altitude , true);` && |\n| &&
` this.setProperty("accuracy", position.coords.accuracy , true);` && |\n| &&
` this.setProperty("altitudeAccuracy", position.coords.altitudeAccuracy , true);` && |\n| &&
` this.setProperty("speed", position.coords.speed , true);` && |\n| &&
` this.setProperty("heading", position.coords.heading , true);` && |\n| &&
` this.fireFinished();` && |\n| &&
` //this.getParent().getParent().getModel().refresh();` && |\n| &&
|\n| &&
` },` && |\n| &&
|\n| &&
` async init(){` && |\n| &&
|\n| &&
` navigator.geolocation.getCurrentPosition(this.callbackPosition.bind(this));` && |\n| &&
` //navigator.geolocation.watchPosition(this.callbackPosition.bind(this));` && |\n| &&
` ` && |\n| &&
` },` && |\n| &&
|\n| &&
` exit () {` && |\n| &&
` //clearWatch` && |\n| &&
` },` && |\n| &&
|\n| &&
` onAfterRendering() {` && |\n| &&
|\n| &&
|\n| &&
` },` && |\n| &&
|\n| &&
` renderer(oRm, oControl) {` && |\n| &&
|\n| &&
` }` && |\n| &&
` });` && |\n| &&
`});`.
result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
ENDMETHOD.
ENDCLASS.

View 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_CC_GEOLOCATION</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>browser - geolocation</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -0,0 +1,124 @@
CLASS z2ui5_cl_cc_info DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
METHODS constructor
IMPORTING
view TYPE REF TO z2ui5_cl_xml_view.
METHODS control
IMPORTING
finished TYPE clike OPTIONAL
ui5_version TYPE any OPTIONAL
ui5_gav TYPE any OPTIONAL
ui5_theme TYPE any OPTIONAL
device_os TYPE any OPTIONAL
device_systemtype TYPE any OPTIONAL
device_browser TYPE any OPTIONAL
preferred parameter FINISHED
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS load_cc
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
PROTECTED SECTION.
DATA mo_view TYPE REF TO z2ui5_cl_xml_view.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_cc_info IMPLEMENTATION.
METHOD constructor.
me->mo_view = view.
ENDMETHOD.
method control.
result = mo_view.
mo_view->_generic( name = `CCInfo`
ns = `z2ui5`
t_prop = VALUE #( ( n = `ui5_version` v = ui5_version )
( n = `ui5_gav` v = ui5_gav )
( n = `finished` v = finished )
( n = `ui5_theme` v = ui5_theme )
( n = `device_os` v = device_os )
( n = `device_systemtype` v = device_systemtype )
( n = `device_browser` v = device_browser )
) ).
ENDMETHOD.
METHOD load_cc.
DATA(js) = ` jQuery.sap.declare("z2ui5.CCInfo");` && |\n| &&
`sap.ui.require([` && |\n| &&
` "sap/ui/core/Control"` && |\n| &&
`], (Control) => {` && |\n| &&
` "use strict";` && |\n| &&
|\n| &&
` return Control.extend("z2ui5.CCInfo", {` && |\n| &&
` metadata : {` && |\n| &&
` properties: {` && |\n| &&
` ui5_version: {` && |\n| &&
` type: "string"` && |\n| &&
` },` && |\n| &&
` ui5_gav: {` && |\n| &&
` type: "string"` && |\n| &&
` },` && |\n| &&
` ui5_theme: {` && |\n| &&
` type: "string"` && |\n| &&
` },` && |\n| &&
` device_os: {` && |\n| &&
` type: "string"` && |\n| &&
` },` && |\n| &&
` device_systemtype: {` && |\n| &&
` type: "string"` && |\n| &&
` },` && |\n| &&
` device_browser: {` && |\n| &&
` type: "string"` && |\n| &&
` },` && |\n| &&
` },` && |\n| &&
` events: {` && |\n| &&
` "finished": { ` && |\n| &&
` allowPreventDefault: true,` && |\n| &&
` parameters: {},` && |\n| &&
` }` && |\n| &&
` }` && |\n| &&
` },` && |\n| &&
|\n| &&
` init () {` && |\n| &&
|\n| &&
` },` && |\n| &&
|\n| &&
` onAfterRendering() {` && |\n| &&
|\n| &&
` },` && |\n| &&
` ` && |\n| &&
` renderer(oRm, oControl) {` && |\n| &&
|\n| &&
` oControl.setProperty( "ui5_version" , sap.ui.version );` && |\n| &&
` oControl.setProperty( "ui5_gav" , sap.ui.getVersionInfo().gav );` && |\n| &&
` oControl.setProperty( "device_os" , sap.ui.Device.os.name );` && |\n| &&
` // this.setProperty( "device_systemtype" , sap.ui.getVersionInfo().gav );` && |\n| &&
` oControl.setProperty( "device_browser" , sap.ui.Device.browser.name );` && |\n| &&
` oControl.fireFinished();` && |\n| &&
` ` && |\n| &&
` }` && |\n| &&
` });` && |\n| &&
`});`.
result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
ENDMETHOD.
ENDCLASS.

View 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_CC_INFO</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>browser - info</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -14,6 +14,7 @@ CLASS z2ui5_cl_cc_spreadsheet DEFINITION
METHODS constructor
IMPORTING
view TYPE REF TO z2ui5_cl_xml_view.
METHODS control
IMPORTING
tableid TYPE clike

View File

@ -0,0 +1,95 @@
CLASS z2ui5_cl_cc_timer DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
METHODS constructor
IMPORTING
view TYPE REF TO z2ui5_cl_xml_view.
METHODS control
IMPORTING
finished TYPE clike OPTIONAL
delayMS TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS load_cc
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
PROTECTED SECTION.
DATA mo_view TYPE REF TO z2ui5_cl_xml_view.
PRIVATE SECTION.
ENDCLASS.
CLASS z2ui5_cl_cc_timer IMPLEMENTATION.
METHOD constructor.
me->mo_view = view.
ENDMETHOD.
method control.
result = mo_view.
mo_view->_generic( name = `CCTimer`
ns = `z2ui5`
t_prop = VALUE #( ( n = `delayMS` v = delayMS )
( n = `finished` v = finished )
) ).
ENDMETHOD.
METHOD load_cc.
DATA(js) = ` jQuery.sap.declare("z2ui5.CCTimer");` && |\n| &&
`sap.ui.require([` && |\n| &&
` "sap/ui/core/Control"` && |\n| &&
`], (Control) => {` && |\n| &&
` "use strict";` && |\n| &&
|\n| &&
` return Control.extend("z2ui5.CCTimer", {` && |\n| &&
` metadata : {` && |\n| &&
` properties: {` && |\n| &&
` delayMS: {` && |\n| &&
` type: "string",` && |\n| &&
` defaultValue: ""` && |\n| &&
` },` && |\n| &&
` },` && |\n| &&
` events: {` && |\n| &&
` "finished": { ` && |\n| &&
` allowPreventDefault: true,` && |\n| &&
` parameters: {},` && |\n| &&
` }` && |\n| &&
` }` && |\n| &&
` },` && |\n| &&
|\n| &&
` init () {` && |\n| &&
|\n| &&
` },` && |\n| &&
|\n| &&
` onAfterRendering() {` && |\n| &&
|\n| &&
` },` && |\n| &&
` ` && |\n| &&
` renderer(oRm, oControl) {` && |\n| &&
|\n| &&
` setTimeout((oControl) => {` && |\n| &&
` oControl.fireFinished();` && |\n| &&
` }, parseInt( oControl.getProperty("delayMS") ), oControl );` && |\n| &&
` }` && |\n| &&
` });` && |\n| &&
`});`.
result = mo_view->_cc_plain_xml( `<html:script>` && js && `</html:script>` ).
ENDMETHOD.
ENDCLASS.

View 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_CC_TIMER</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>sap gui - cl_gui_timer</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -27,8 +27,7 @@ CLASS z2ui5_cl_fw_http_handler DEFINITION
ENDCLASS.
CLASS Z2UI5_CL_FW_HTTP_HANDLER IMPLEMENTATION.
CLASS z2ui5_cl_fw_http_handler IMPLEMENTATION.
METHOD http_get.

View File

@ -50,7 +50,14 @@ CLASS z2ui5_cl_xml_view DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS icon
IMPORTING
!src TYPE clike OPTIONAL
!size TYPE clike OPTIONAL
!color TYPE clike OPTIONAL
!class TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS dynamic_page
IMPORTING
@ -73,7 +80,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
METHODS html
IMPORTING
!content TYPE clike OPTIONAL
!content TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
@ -243,32 +250,39 @@ CLASS z2ui5_cl_xml_view DEFINITION
!ns TYPE clike
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS snapped_content
IMPORTING
!ns TYPE clike
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS heading
IMPORTING
!ns TYPE clike
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS actions
IMPORTING
!ns TYPE clike
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS snapped_title_on_mobile
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS header
IMPORTING
!ns TYPE clike DEFAULT `f`
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS navigation_actions
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS avatar
IMPORTING
!src TYPE clike OPTIONAL
@ -290,12 +304,15 @@ CLASS z2ui5_cl_xml_view DEFINITION
!enabled TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS header_title
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS sections
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS object_page_section
IMPORTING
!titleuppercase TYPE clike OPTIONAL
@ -304,28 +321,34 @@ CLASS z2ui5_cl_xml_view DEFINITION
!id TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS sub_sections
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS object_page_sub_section
IMPORTING
!id TYPE clike OPTIONAL
!title TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS shell
IMPORTING
!ns TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS blocks
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS layout_data
IMPORTING
!ns TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS flex_item_data
IMPORTING
!growfactor TYPE clike OPTIONAL
@ -334,6 +357,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!styleclass TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS code_editor
IMPORTING
!value TYPE clike OPTIONAL
@ -343,21 +367,26 @@ CLASS z2ui5_cl_xml_view DEFINITION
!editable TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS suggestion_items
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
!width TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS multi_input
IMPORTING
!showclearicon TYPE clike OPTIONAL
@ -375,9 +404,11 @@ CLASS z2ui5_cl_xml_view DEFINITION
!change TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS tokens
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS token
IMPORTING
!key TYPE clike OPTIONAL
@ -387,6 +418,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!editable TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS input
IMPORTING
!id TYPE clike OPTIONAL
@ -427,6 +459,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
PREFERRED PARAMETER value
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS dialog
IMPORTING
!title TYPE clike OPTIONAL
@ -441,6 +474,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
PREFERRED PARAMETER title
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS carousel
IMPORTING
!height TYPE clike OPTIONAL
@ -448,12 +482,15 @@ CLASS z2ui5_cl_xml_view DEFINITION
!loop TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS buttons
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS get_root
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS get_parent
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
@ -470,10 +507,10 @@ CLASS z2ui5_cl_xml_view DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS columns
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS column
IMPORTING
!width TYPE clike OPTIONAL
@ -493,11 +530,13 @@ CLASS z2ui5_cl_xml_view DEFINITION
PREFERRED PARAMETER width
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS items
IMPORTING
!ns TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS interact_donut_chart
IMPORTING
!selectionchanged TYPE clike OPTIONAL
@ -508,9 +547,11 @@ CLASS z2ui5_cl_xml_view DEFINITION
!press TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS segments
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS interact_donut_chart_segment
IMPORTING
!label TYPE clike OPTIONAL
@ -519,6 +560,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!selected TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS interact_bar_chart
IMPORTING
!selectionchanged TYPE clike OPTIONAL
@ -529,9 +571,11 @@ CLASS z2ui5_cl_xml_view DEFINITION
!showerror TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS bars
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS interact_bar_chart_bar
IMPORTING
!label TYPE clike OPTIONAL
@ -540,6 +584,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!selected TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS interact_line_chart
IMPORTING
!selectionchanged TYPE clike OPTIONAL
@ -551,9 +596,11 @@ CLASS z2ui5_cl_xml_view DEFINITION
!showerror TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS points
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS interact_line_chart_point
IMPORTING
!label TYPE clike OPTIONAL
@ -604,10 +651,14 @@ CLASS z2ui5_cl_xml_view DEFINITION
IMPORTING
!ns TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS sub_header
IMPORTING
ns TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS custom_data
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
@ -648,6 +699,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!accessiblerole TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS search_field
IMPORTING
!search TYPE clike OPTIONAL
@ -666,12 +718,25 @@ CLASS z2ui5_cl_xml_view DEFINITION
!visible TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS message_view
IMPORTING
!items TYPE clike OPTIONAL
!groupitems TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS barcode_scanner_button
IMPORTING
!id TYPE clike OPTIONAL
!scanSuccess TYPE clike OPTIONAL
!scanFail TYPE clike OPTIONAL
!inputLiveUpdate TYPE clike OPTIONAL
!dialogTitle TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS message_popover
IMPORTING
!items TYPE clike OPTIONAL
@ -725,8 +790,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
!expandable TYPE clike OPTIONAL
!expanded TYPE clike OPTIONAL
!headertext TYPE clike OPTIONAL
stickyHeader type clike optional
height type clike optional
stickyheader TYPE clike OPTIONAL
height TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
@ -737,7 +802,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!class TYPE clike OPTIONAL
!rendertype TYPE clike OPTIONAL
!aligncontent TYPE clike OPTIONAL
!direction TYPE clike OPTIONAL
!direction TYPE clike OPTIONAL
!alignitems TYPE clike OPTIONAL
!width TYPE clike OPTIONAL
!wrap TYPE clike OPTIONAL
@ -752,7 +817,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!alignitems TYPE clike OPTIONAL
!width TYPE clike OPTIONAL
!height TYPE clike OPTIONAL
!renderType TYPE clike OPTIONAL
!rendertype TYPE clike OPTIONAL
!wrap TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
@ -1088,7 +1153,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!rows TYPE clike OPTIONAL
!cols TYPE clike OPTIONAL
!height TYPE clike OPTIONAL
class TYPE clike OPTIONAL
class TYPE clike OPTIONAL
!width TYPE clike OPTIONAL
valueliveupdate TYPE clike OPTIONAL
!editable TYPE clike OPTIONAL
@ -1097,7 +1162,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
!growingmaxlines TYPE clike OPTIONAL
!id TYPE clike OPTIONAL
!required TYPE clike OPTIONAL
placeholder type clike optional
placeholder TYPE clike OPTIONAL
!valuestate TYPE clike OPTIONAL
!valuestatetext TYPE clike OPTIONAL
PREFERRED PARAMETER value
@ -1826,12 +1891,10 @@ CLASS z2ui5_cl_xml_view DEFINITION
METHODS tool_page
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS tool_header
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS subheader
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS icon_tab_header
IMPORTING
@ -1854,7 +1917,6 @@ CLASS z2ui5_cl_xml_view DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS main_contents
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
@ -2679,7 +2741,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view .
METHODS timelineitem
METHODS timeline_item
IMPORTING
!id TYPE clike OPTIONAL
!datetime TYPE clike OPTIONAL
@ -2729,7 +2791,6 @@ CLASS z2ui5_cl_xml_view DEFINITION
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
PROTECTED SECTION.
DATA mv_name TYPE string.
DATA mv_ns TYPE string.
@ -2742,14 +2803,60 @@ CLASS z2ui5_cl_xml_view DEFINITION
DATA mi_client TYPE REF TO z2ui5_if_client.
PRIVATE SECTION.
METHODS container_content
IMPORTING
!id TYPE clike OPTIONAL
!title TYPE clike OPTIONAL
!icon TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS map_container
IMPORTING
!id TYPE clike OPTIONAL
!autoadjustheight TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS spot
IMPORTING
!id TYPE clike OPTIONAL
!position TYPE clike OPTIONAL
!contentOffset TYPE clike OPTIONAL
!type TYPE clike OPTIONAL
!scale TYPE clike OPTIONAL
!tooltip TYPE clike OPTIONAL
!image TYPE clike OPTIONAL
!icon TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS analytic_map
IMPORTING
!id TYPE clike OPTIONAL
!initialPosition TYPE clike OPTIONAL
!initialZoom TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS spots
IMPORTING
!id TYPE clike OPTIONAL
!items TYPE clike OPTIONAL
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS vos
RETURNING
VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
ENDCLASS.
CLASS z2ui5_cl_xml_view IMPLEMENTATION.
CLASS Z2UI5_CL_XML_VIEW IMPLEMENTATION.
METHOD actions.
@ -2768,6 +2875,19 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD analytic_map.
result = _generic( name = `AnalyticMap`
ns = `vbm`
t_prop = VALUE #(
( n = `id` v = id )
( n = `initialPosition` v = initialPosition )
( n = `initialZoom` v = initialZoom )
) ).
ENDMETHOD.
METHOD appointments.
result = _generic( `appointments` ).
ENDMETHOD.
@ -3169,6 +3289,10 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
( n = `xmlns:shapes` v = `sap.gantt.simple.shapes` )
( n = `xmlns:commons` v = `sap.suite.ui.commons` )
( n = `xmlns:vm` v = `sap.ui.comp.variants` )
( n = `xmlns:viz` v = `sap.viz.ui5.controls` )
( n = `xmlns:vk` v = `sap.ui.vk` )
( n = `xmlns:vbm` v = `sap.ui.vbm` )
( n = `xmlns:ndc` v = `sap.ndc` )
( n = `xmlns:svm` v = `sap.ui.comp.smartvariants` )
( n = `xmlns:flvm` v = `sap.ui.fl.variants` )
( n = `xmlns:p13n` v = `sap.m.p13n` )
@ -3178,7 +3302,21 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD container_content.
result = _generic( name = `ContainerContent`
ns = `vk`
t_prop = VALUE #(
( n = `id` v = id )
( n = `title` v = title )
( n = `icon` v = icon )
) ).
ENDMETHOD.
METHOD container_toolbar.
result = _generic( name = `ContainerToolbar`
ns = `gantt`
t_prop = VALUE #( ( n = `showSearchButton` v = showsearchbutton )
@ -3369,6 +3507,18 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD barcode_scanner_button.
result = _generic( name = `BarcodeScannerButton`
ns = 'ndc'
t_prop = VALUE #(
( n = `id` v = id )
( n = `scanSuccess` v = scanSuccess )
( n = `scanFail` v = scanFail )
( n = `inputLiveUpdate` v = inputLiveUpdate )
( n = `dialogTitle` v = dialogTitle ) ) ).
ENDMETHOD.
METHOD end_column_pages.
" todo, implement method
result = me.
@ -3765,7 +3915,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
( n = `alignContent` v = aligncontent )
( n = `alignItems` v = alignitems )
( n = `width` v = width )
( n = `renderType` v = renderType )
( n = `renderType` v = rendertype )
( n = `height` v = height )
( n = `wrap` v = wrap )
( n = `justifyContent` v = justifycontent ) ) ).
@ -3866,6 +4016,31 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD html.
result = _generic( name = `HTML`
ns = `core`
t_prop = VALUE #(
( n = 'content' v = content ) )
).
ENDMETHOD.
METHOD icon.
result = me.
_generic( name = `Icon`
ns = `core`
t_prop = VALUE #( ( n = `size` v = size )
( n = `color` v = color )
( n = `class` v = class )
( n = `src` v = src )
) ).
ENDMETHOD.
METHOD icon_tab_bar.
result = _generic( name = `IconTabBar`
@ -4260,6 +4435,18 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD map_container.
result = _generic( name = `MapContainer`
ns = `vk`
t_prop = VALUE #(
( n = `id` v = id )
( n = `autoAdjustHeight` v = z2ui5_cl_fw_utility=>boolean_abap_2_json( autoadjustheight ) )
) ).
ENDMETHOD.
METHOD markers.
result = _generic( name = `markers` ns = ns ).
ENDMETHOD.
@ -5238,7 +5425,39 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD spot.
result = me.
_generic( name = `Spot`
ns = `vbm`
t_prop = VALUE #(
( n = `id` v = id )
( n = `position` v = position )
( n = `contentOffset` v = contentOffset )
( n = `type` v = type )
( n = `scale` v = scale )
( n = `tooltip` v = tooltip )
( n = `image` v = image )
( n = `icon` v = icon )
) ).
ENDMETHOD.
METHOD spots.
result = _generic( name = `Spots`
ns = `vbm`
t_prop = VALUE #(
( n = `id` v = id )
( n = `items` v = items )
) ).
ENDMETHOD.
METHOD stacked_bar_micro_chart.
result = me.
_generic( name = `StackedBarMicroChart`
ns = `mchart`
@ -5314,14 +5533,11 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD subheader.
result = _generic( name = `subHeader`
ns = `tnt` ).
ENDMETHOD.
METHOD sub_header.
result = _generic( `subHeader` ).
result = _generic( name = `subHeader`
ns = ns ).
ENDMETHOD.
@ -5503,7 +5719,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD timelineitem.
METHOD timeline_item.
result = _generic( name = `TimelineItem`
ns = 'commons'
@ -6012,6 +6228,15 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD vos.
result = _generic( name = `vos`
ns = `vbm`
).
ENDMETHOD.
METHOD xml_get.
CASE mv_name.
@ -6046,6 +6271,14 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD _cc.
result = NEW #( me ).
ENDMETHOD.
METHOD _cc_plain_xml.
result = me.
@ -6054,6 +6287,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
ENDMETHOD.
METHOD _generic.
DATA(result2) = NEW z2ui5_cl_xml_view( ).
@ -6076,21 +6310,4 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
result = me.
ENDMETHOD.
METHOD _cc.
result = NEW #( me ).
ENDMETHOD.
METHOD html.
result = _generic( name = `HTML`
ns = `core`
t_prop = value #(
( n = 'content' v = content ) )
).
ENDMETHOD.
ENDCLASS.

View File

@ -3,11 +3,13 @@ INTERFACE z2ui5_if_client
CONSTANTS:
BEGIN OF cs_event,
popup_close TYPE string VALUE `POPUP_CLOSE`,
open_new_tab TYPE string VALUE `OPEN_NEW_TAB`,
popover_close TYPE string VALUE `POPOVER_CLOSE`,
location_reload TYPE string VALUE `LOCATION_RELOAD`,
nav_container_to TYPE string VALUE `NAV_CONTAINER_TO`,
popup_close TYPE string VALUE `POPUP_CLOSE`,
open_new_tab TYPE string VALUE `OPEN_NEW_TAB`,
popover_close TYPE string VALUE `POPOVER_CLOSE`,
location_reload TYPE string VALUE `LOCATION_RELOAD`,
nav_container_to TYPE string VALUE `NAV_CONTAINER_TO`,
nest_nav_container_to TYPE string VALUE `NEST_NAV_CONTAINER_TO`,
nest2_nav_container_to TYPE string VALUE `NEST2_NAV_CONTAINER_TO`,
END OF cs_event.
CONSTANTS:
@ -172,7 +174,7 @@ INTERFACE z2ui5_if_client
METHODS timer_set
IMPORTING
interval_ms TYPE clike
interval_ms TYPE clike OPTIONAL
event_finished TYPE clike.
METHODS title_set
@ -185,9 +187,10 @@ INTERFACE z2ui5_if_client
METHODS _event
IMPORTING
val TYPE clike
val TYPE clike OPTIONAL
check_view_destroy TYPE abap_bool DEFAULT abap_false
t_arg TYPE string_table OPTIONAL
PREFERRED PARAMETER val
RETURNING
VALUE(result) TYPE string.
@ -203,7 +206,7 @@ INTERFACE z2ui5_if_client
IMPORTING
val TYPE data
path TYPE abap_bool DEFAULT abap_false
view TYPE string DEFAULT cs_view-main
view TYPE string DEFAULT cs_view-main
pretty_name TYPE clike DEFAULT /ui2/cl_json=>pretty_mode-none
RETURNING
VALUE(result) TYPE string.
@ -225,6 +228,6 @@ INTERFACE z2ui5_if_client
METHODS _bind_clear
IMPORTING
val TYPE data.
val TYPE data.
endinterface.
ENDINTERFACE.