This is an automated email from the ASF dual-hosted git repository.
mugdha pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 73394b8a1 RANGER-3643 : [addendum] Service config UI to include
additional configurations like service.admin.users, service.admin.groups
73394b8a1 is described below
commit 73394b8a15d080a9f32c512edd63f5df059eadd6
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
---
.../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 7d462d8d6..a58718e35 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 = [];