diff --git a/README.md b/README.md
index 732036a5..65bd5b42 100644
--- a/README.md
+++ b/README.md
@@ -11,12 +11,12 @@
#### 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)  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)
diff --git a/src/00/z2ui5_cl_fw_utility.clas.abap b/src/00/z2ui5_cl_fw_utility.clas.abap
index f3690632..17d3f9f4 100644
--- a/src/00/z2ui5_cl_fw_utility.clas.abap
+++ b/src/00/z2ui5_cl_fw_utility.clas.abap
@@ -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).
diff --git a/src/01/z2ui5_cl_cc_factory.clas.abap b/src/01/z2ui5_cl_cc_factory.clas.abap
index 483a7132..485d93fa 100644
--- a/src/01/z2ui5_cl_cc_factory.clas.abap
+++ b/src/01/z2ui5_cl_cc_factory.clas.abap
@@ -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.
diff --git a/src/01/z2ui5_cl_cc_geolocation.clas.abap b/src/01/z2ui5_cl_cc_geolocation.clas.abap
new file mode 100644
index 00000000..839ad5b2
--- /dev/null
+++ b/src/01/z2ui5_cl_cc_geolocation.clas.abap
@@ -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( `` && js && `` ).
+
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/src/01/z2ui5_cl_cc_geolocation.clas.xml b/src/01/z2ui5_cl_cc_geolocation.clas.xml
new file mode 100644
index 00000000..57194e49
--- /dev/null
+++ b/src/01/z2ui5_cl_cc_geolocation.clas.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Z2UI5_CL_CC_GEOLOCATION
+ E
+ browser - geolocation
+ 1
+ X
+ X
+ X
+
+
+
+
diff --git a/src/01/z2ui5_cl_cc_info.clas.abap b/src/01/z2ui5_cl_cc_info.clas.abap
new file mode 100644
index 00000000..cace4a09
--- /dev/null
+++ b/src/01/z2ui5_cl_cc_info.clas.abap
@@ -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( `` && js && `` ).
+
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/src/01/z2ui5_cl_cc_info.clas.xml b/src/01/z2ui5_cl_cc_info.clas.xml
new file mode 100644
index 00000000..d62cfa8d
--- /dev/null
+++ b/src/01/z2ui5_cl_cc_info.clas.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Z2UI5_CL_CC_INFO
+ E
+ browser - info
+ 1
+ X
+ X
+ X
+
+
+
+
diff --git a/src/01/z2ui5_cl_cc_spreadsheet.clas.abap b/src/01/z2ui5_cl_cc_spreadsheet.clas.abap
index 17722522..133b7b51 100644
--- a/src/01/z2ui5_cl_cc_spreadsheet.clas.abap
+++ b/src/01/z2ui5_cl_cc_spreadsheet.clas.abap
@@ -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
diff --git a/src/01/z2ui5_cl_cc_timer.clas.abap b/src/01/z2ui5_cl_cc_timer.clas.abap
new file mode 100644
index 00000000..36d29c1d
--- /dev/null
+++ b/src/01/z2ui5_cl_cc_timer.clas.abap
@@ -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( `` && js && `` ).
+
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/src/01/z2ui5_cl_cc_timer.clas.xml b/src/01/z2ui5_cl_cc_timer.clas.xml
new file mode 100644
index 00000000..fbeab7ed
--- /dev/null
+++ b/src/01/z2ui5_cl_cc_timer.clas.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Z2UI5_CL_CC_TIMER
+ E
+ sap gui - cl_gui_timer
+ 1
+ X
+ X
+ X
+
+
+
+
diff --git a/src/z2ui5_cl_fw_http_handler.clas.abap b/src/z2ui5_cl_fw_http_handler.clas.abap
index dc5c2baf..492d7b2c 100644
--- a/src/z2ui5_cl_fw_http_handler.clas.abap
+++ b/src/z2ui5_cl_fw_http_handler.clas.abap
@@ -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.
diff --git a/src/z2ui5_cl_xml_view.clas.abap b/src/z2ui5_cl_xml_view.clas.abap
index 6dc42f23..565134d4 100644
--- a/src/z2ui5_cl_xml_view.clas.abap
+++ b/src/z2ui5_cl_xml_view.clas.abap
@@ -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.
diff --git a/src/00/z2ui5_if_client.intf.abap b/src/z2ui5_if_client.intf.abap
similarity index 88%
rename from src/00/z2ui5_if_client.intf.abap
rename to src/z2ui5_if_client.intf.abap
index 16638d41..940818ae 100644
--- a/src/00/z2ui5_if_client.intf.abap
+++ b/src/z2ui5_if_client.intf.abap
@@ -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.
diff --git a/src/00/z2ui5_if_client.intf.xml b/src/z2ui5_if_client.intf.xml
similarity index 100%
rename from src/00/z2ui5_if_client.intf.xml
rename to src/z2ui5_if_client.intf.xml