From eaf9e993c288c22eb8ffb578fadd422c9884dc82 Mon Sep 17 00:00:00 2001
From: oblomov <102328295+oblomov-dev@users.noreply.github.com>
Date: Sat, 9 Dec 2023 13:25:26 +0100
Subject: [PATCH] Cleanup index.html (#714)
* cleanup-index.html
* update importing params
* update
---
src/00/z2ui5_cl_util_func.clas.abap | 110 ++-
src/01/01/z2ui5_cl_fw_http_handler.clas.abap | 927 ++++++++++---------
2 files changed, 563 insertions(+), 474 deletions(-)
diff --git a/src/00/z2ui5_cl_util_func.clas.abap b/src/00/z2ui5_cl_util_func.clas.abap
index 84423f16..c03d6a30 100644
--- a/src/00/z2ui5_cl_util_func.clas.abap
+++ b/src/00/z2ui5_cl_util_func.clas.abap
@@ -4,110 +4,135 @@ CLASS z2ui5_cl_util_func DEFINITION
PUBLIC SECTION.
+ CLASS-METHODS js_load_ext_lib
+ RETURNING
+ VALUE(result) TYPE string.
+
CLASS-METHODS app_get_url_source_code
IMPORTING
!client TYPE REF TO z2ui5_if_client
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS app_get_url
IMPORTING
!client TYPE REF TO z2ui5_if_client
VALUE(classname) TYPE string OPTIONAL
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS url_param_get
IMPORTING
!val TYPE string
!url TYPE string
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS url_param_create_url
IMPORTING
!t_params TYPE z2ui5_if_client=>ty_t_name_value
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS url_param_set
IMPORTING
!url TYPE string
!name TYPE string
!value TYPE string
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS rtti_get_classname_by_ref
IMPORTING
!in TYPE REF TO object
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS x_check_raise
IMPORTING
!v TYPE clike DEFAULT `CX_SY_SUBRC`
- !when TYPE abap_bool .
+ !when TYPE abap_bool.
+
CLASS-METHODS x_raise
IMPORTING
!v TYPE clike DEFAULT `CX_SY_SUBRC`
- PREFERRED PARAMETER v .
+ PREFERRED PARAMETER v.
+
CLASS-METHODS func_get_uuid_32
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS func_get_uuid_22
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS func_get_user_tech
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS trans_json_any_2
IMPORTING
!any TYPE any
!pretty_name TYPE clike DEFAULT /ui2/cl_json=>pretty_mode-none
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS trans_xml_2_any
IMPORTING
!xml TYPE clike
EXPORTING
- !any TYPE any .
+ !any TYPE any.
+
CLASS-METHODS trans_xml_any_2
IMPORTING
!any TYPE any
RETURNING
VALUE(result) TYPE string
RAISING
- cx_xslt_serialization_error .
+ cx_xslt_serialization_error.
+
CLASS-METHODS boolean_check
IMPORTING
!val TYPE any
RETURNING
- VALUE(result) TYPE abap_bool .
+ VALUE(result) TYPE abap_bool.
+
CLASS-METHODS boolean_abap_2_json
IMPORTING
!val TYPE any
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS c_replace_assign_struc
IMPORTING
!iv_attri TYPE clike
RETURNING
- VALUE(rv_attri) TYPE string .
+ VALUE(rv_attri) TYPE string.
+
CLASS-METHODS trans_json_2_any
IMPORTING
!val TYPE any
CHANGING
- !data TYPE any .
+ !data TYPE any.
+
CLASS-METHODS trans_ref_tab_2_tab
IMPORTING
!ir_tab_from TYPE REF TO data
EXPORTING
- !t_result TYPE STANDARD TABLE .
+ !t_result TYPE STANDARD TABLE.
+
CLASS-METHODS c_trim_upper
IMPORTING
!val TYPE clike
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS rtti_xml_get_by_data
IMPORTING
!data TYPE any
RETURNING
- VALUE(result) TYPE string .
+ VALUE(result) TYPE string.
+
CLASS-METHODS rtti_xml_set_to_data
IMPORTING
!rtti_data TYPE clike
@@ -332,6 +357,49 @@ CLASS z2ui5_cl_util_func IMPLEMENTATION.
ENDMETHOD.
+ METHOD js_load_ext_lib.
+
+ result = ` async loadScriptExt(url) {` && |\n| &&
+ ` this.BusyDialog = new sap.m.BusyDialog({ title: "External Library", text: "... now loading the data from a far away server" });` && |\n| &&
+ ` this.BusyDialog.open();` && |\n| &&
+ |\n| &&
+ ` const loadScript = (FILE_URL, async = true, type = "text/javascript") => {` && |\n| &&
+ ` return new Promise((resolve, reject) => {` && |\n| &&
+ ` try {` && |\n| &&
+ ` const scriptEle = document.createElement("script");` && |\n| &&
+ ` scriptEle.type = type;` && |\n| &&
+ ` scriptEle.async = async;` && |\n| &&
+ ` scriptEle.src = FILE_URL;` && |\n| &&
+ ` scriptEle.addEventListener("load", (ev) => {` && |\n| &&
+ ` resolve({ status: true });` && |\n| &&
+ ` });` && |\n| &&
+ ` scriptEle.addEventListener("error", (ev) => {` && |\n| &&
+ ` reject({` && |\n| &&
+ ` status: false,` && |\n| &&
+ ` message: ``Failed to load the script ${FILE_URL}``` && |\n| &&
+ ` });` && |\n| &&
+ ` });` && |\n| &&
+ ` document.body.appendChild(scriptEle);` && |\n| &&
+ ` } catch (error) {` && |\n| &&
+ ` reject(error);` && |\n| &&
+ ` }` && |\n| &&
+ ` });` && |\n| &&
+ ` };` && |\n| &&
+ |\n| &&
+ ` await loadScript(url)` && |\n| &&
+ ` .then(data => {` && |\n| &&
+ ` this.result = 'A';` && |\n| &&
+ ` }).catch(err => {` && |\n| &&
+ ` this.result = 'E';` && |\n| &&
+ ` });` && |\n| &&
+ ` this.BusyDialog.close();` && |\n| &&
+ ` return this.result;` && |\n| &&
+ |\n| &&
+ ` },`.
+
+ ENDMETHOD.
+
+
METHOD rtti_check_type_kind_dref.
DATA(lv_type_kind) = cl_abap_datadescr=>get_data_type_kind( val ).
diff --git a/src/01/01/z2ui5_cl_fw_http_handler.clas.abap b/src/01/01/z2ui5_cl_fw_http_handler.clas.abap
index e1e40c69..fb8dfd42 100644
--- a/src/01/01/z2ui5_cl_fw_http_handler.clas.abap
+++ b/src/01/01/z2ui5_cl_fw_http_handler.clas.abap
@@ -16,13 +16,15 @@ CLASS z2ui5_cl_fw_http_handler DEFINITION
content_security_policy TYPE clike OPTIONAL
check_logging TYPE abap_bool OPTIONAL
custom_js TYPE string OPTIONAL
- custom_js_oneventfrontend TYPE string OPTIONAL
+* custom_js_oneventfrontend TYPE string OPTIONAL
json_model_limit TYPE string DEFAULT '100'
PREFERRED PARAMETER t_config
RETURNING
VALUE(r_result) TYPE string.
PROTECTED SECTION.
+ CLASS-METHODS get_js
+ returning value(result) type string.
PRIVATE SECTION.
@@ -81,458 +83,7 @@ CLASS z2ui5_cl_fw_http_handler IMPLEMENTATION.
`` && |\n|.
r_result = r_result && `