This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.8
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit ffcd6b10a3ead38f0339a4007c3735f7ac02580e
Author: Mugdha Varadkar <[email protected]>
AuthorDate: Sun Aug 17 22:48:15 2025 +0530

    RANGER-3643 : [addendum] Service config UI to include additional 
configurations like service.admin.users, service.admin.groups
    
    (cherry picked from commit 73394b8a15d080a9f32c512edd63f5df059eadd6)
---
 .../webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx
 
b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx
index 15539b22f..42c5f1754 100644
--- 
a/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx
+++ 
b/security-admin/src/main/webapp/react-webapp/src/views/ServiceManager/ServiceForm.jsx
@@ -25,6 +25,7 @@ import arrayMutators from "final-form-arrays";
 import { FieldArray } from "react-final-form-arrays";
 import Select from "react-select";
 import AsyncSelect from "react-select/async";
+import AsyncCreatableSelect from "react-select/async-creatable";
 import { RegexValidation, additionalServiceConfigs } from "Utils/XAEnums";
 import { fetchApi } from "Utils/fetchAPI";
 import ServiceAuditFilter from "./ServiceAuditFilter";
@@ -675,7 +676,7 @@ class ServiceForm extends Component {
                 key={"configs." + additionalConfig.name + index}
                 id={"configs." + additionalConfig.name}
                 data-cy={"configs." + additionalConfig.name}
-                component={this.AsyncSelectField}
+                component={this.AsyncCreatableSelectField}
                 loadOptions={
                   additionalConfig.type == "user"
                     ? this.fetchUsers
@@ -991,6 +992,10 @@ class ServiceForm extends Component {
     <AsyncSelect {...input} {...rest} cacheOptions />
   );
 
+  AsyncCreatableSelectField = ({ input, ...rest }) => (
+    <AsyncCreatableSelect {...input} {...rest} />
+  );
+
   fetchUsers = async (inputValue) => {
     let params = { name: inputValue || "", isVisible: 1 };
     let op = [];

Reply via email to