From 53b2f045fc3fac71d80a0ac497261d70f9340312 Mon Sep 17 00:00:00 2001 From: oblomov <102328295+oblomov-dev@users.noreply.github.com> Date: Tue, 31 Oct 2023 19:22:30 +0100 Subject: [PATCH] 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 --- README.md | 69 +++-- src/00/z2ui5_cl_fw_utility.clas.abap | 149 +++++------ src/01/z2ui5_cl_cc_factory.clas.abap | 30 +++ src/01/z2ui5_cl_cc_geolocation.clas.abap | 164 ++++++++++++ src/01/z2ui5_cl_cc_geolocation.clas.xml | 16 ++ src/01/z2ui5_cl_cc_info.clas.abap | 124 +++++++++ src/01/z2ui5_cl_cc_info.clas.xml | 16 ++ src/01/z2ui5_cl_cc_spreadsheet.clas.abap | 1 + src/01/z2ui5_cl_cc_timer.clas.abap | 95 +++++++ src/01/z2ui5_cl_cc_timer.clas.xml | 16 ++ src/z2ui5_cl_fw_http_handler.clas.abap | 3 +- src/z2ui5_cl_xml_view.clas.abap | 307 +++++++++++++++++++---- src/{00 => }/z2ui5_if_client.intf.abap | 23 +- src/{00 => }/z2ui5_if_client.intf.xml | 0 14 files changed, 868 insertions(+), 145 deletions(-) create mode 100644 src/01/z2ui5_cl_cc_geolocation.clas.abap create mode 100644 src/01/z2ui5_cl_cc_geolocation.clas.xml create mode 100644 src/01/z2ui5_cl_cc_info.clas.abap create mode 100644 src/01/z2ui5_cl_cc_info.clas.xml create mode 100644 src/01/z2ui5_cl_cc_timer.clas.abap create mode 100644 src/01/z2ui5_cl_cc_timer.clas.xml rename src/{00 => }/z2ui5_if_client.intf.abap (88%) rename src/{00 => }/z2ui5_if_client.intf.xml (100%) 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) ![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) 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