From 8dd5b09576d1cdd0a6752f022afaadf3eed4d3f5 Mon Sep 17 00:00:00 2001
From: oblomov <102328295+oblomov-dev@users.noreply.github.com>
Date: Sat, 1 Jul 2023 11:27:28 +0200
Subject: [PATCH] Update control.md (#330)
* Update control.md
* update
* controls
* update controls
---
docs/contribution/control.md | 18 ++++++++++++++++++
src/z2ui5_cl_xml_view.clas.abap | 11 ++++++++---
2 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/docs/contribution/control.md b/docs/contribution/control.md
index e69de29b..0bd8ea22 100644
--- a/docs/contribution/control.md
+++ b/docs/contribution/control.md
@@ -0,0 +1,18 @@
+_Every help and PR extending abap2UI5 with additional UI5 controls is welcome!_
+
+If you create a view and you miss a specific UI5 control, you can extend the class z2ui5_cl_xml_view. It is an ABAP copy of the UI5 API. Just add a new method named by the control and add its attributes as importing parameters. Do the following:
+
+**(0) Analyse the UI5 API for the Control you want to add:**
+Read the [following issue ](https://github.com/abap2UI5/abap2UI5/issues/248) to understand the UI5 API.
+**(1) Check the name, properties and events of the new control:**
+
+(for example sap.m.Button)
+**(2) Create a new method in the class z2ui5_cl_xml_view named by the control and add all properties you need:**
+
+(use always optional and type clike)
+**(3) Add the implementation:**
+
+(wrap boolean properties with the utility class)
+**(7) Contribute your change by opening a PR.**
+
+**Thank you for your help!**
diff --git a/src/z2ui5_cl_xml_view.clas.abap b/src/z2ui5_cl_xml_view.clas.abap
index cd812994..0b42b545 100644
--- a/src/z2ui5_cl_xml_view.clas.abap
+++ b/src/z2ui5_cl_xml_view.clas.abap
@@ -311,6 +311,8 @@ CLASS z2ui5_cl_xml_view DEFINITION
class TYPE clike OPTIONAL
visible TYPE clike OPTIONAL
submit TYPE clike OPTIONAL
+ valueLiveUpdate TYPE clike OPTIONAL
+ autocomplete TYPE clike OPTIONAL
PREFERRED PARAMETER value
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
@@ -496,6 +498,7 @@ CLASS z2ui5_cl_xml_view DEFINITION
id TYPE clike OPTIONAL
change TYPE clike OPTIONAL
liveChange TYPE clike OPTIONAL
+ autocomplete TYPE clike OPTIONAL
RETURNING VALUE(result) TYPE REF TO z2ui5_cl_xml_view.
METHODS message_view
@@ -926,7 +929,6 @@ CLASS z2ui5_cl_xml_view DEFINITION
!visiblerowcount TYPE clike OPTIONAL
!visiblerowcountmode TYPE clike OPTIONAL
!alternaterowcolors TYPE clike OPTIONAL
- !with TYPE clike OPTIONAL
!footer TYPE clike OPTIONAL
!filter TYPE clike OPTIONAL
!sort TYPE clike OPTIONAL
@@ -1649,7 +1651,9 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
( n = `suggestionRows` v = suggestionrows )
( n = `showSuggestion` v = lcl_utility=>get_json_boolean( showsuggestion ) )
( n = `valueHelpRequest` v = valuehelprequest )
- ( n = `submit` v = submit )
+ ( n = `autocomplete` v = lcl_utility=>get_json_boolean( autocomplete ) )
+ ( n = `valueLiveUpdate` v = lcl_utility=>get_json_boolean( valueLiveUpdate ) )
+ ( n = `submit` v = lcl_utility=>get_json_boolean( submit ) )
( n = `showValueHelp` v = lcl_utility=>get_json_boolean( showvaluehelp ) )
( n = `class` v = class ) ) ).
ENDMETHOD.
@@ -2060,6 +2064,7 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
( n = `value` v = value )
( n = `id` v = id )
( n = `change` v = change )
+ ( n = `autocomplete` v = lcl_utility=>get_json_boolean( autocomplete ) )
( n = `liveChange` v = liveChange ) ) ).
ENDMETHOD.
@@ -2423,13 +2428,13 @@ CLASS z2ui5_cl_xml_view IMPLEMENTATION.
( n = `threshold` v = threshold )
( n = `visibleRowCount` v = visibleRowCount )
( n = `visibleRowCountMode` v = visibleRowCountMode )
- ( n = `with` v = with )
( n = `footer` v = footer )
( n = `filter` v = filter )
( n = `sort` v = sort )
( n = `customFilter` v = customFilter )
( n = `rowSelectionChange` v = rowSelectionChange )
) ).
+
ENDMETHOD.