diff --git a/src/components/Forms/Formik/FormikResourceSelectorDropdown.tsx b/src/components/Forms/Formik/FormikResourceSelectorDropdown.tsx index e0a4e76a1..7e69626e4 100644 --- a/src/components/Forms/Formik/FormikResourceSelectorDropdown.tsx +++ b/src/components/Forms/Formik/FormikResourceSelectorDropdown.tsx @@ -28,6 +28,10 @@ type FormikConfigsDropdownProps = { className?: string; valueField?: "id" | "name"; disabled?: boolean; + onValueChange?: ( + value: any, + option: FormikSelectDropdownOption | null + ) => void; }; export default function FormikResourceSelectorDropdown({ @@ -43,7 +47,8 @@ export default function FormikResourceSelectorDropdown({ playbookResourceSelector, className = "flex flex-col space-y-2 py-2", valueField = "id", - disabled = false + disabled = false, + onValueChange }: FormikConfigsDropdownProps) { const [inputText, setInputText] = useState(""); const [searchText, setSearchText] = useState(); @@ -262,6 +267,7 @@ export default function FormikResourceSelectorDropdown({ ), value: playbook[valueField], search: playbook.name, + name: playbook.name, label: (
{playbook.name} @@ -312,14 +318,18 @@ export default function FormikResourceSelectorDropdown({ isClearable value={value} onChange={(value: any) => { + const selectedValue = Array.isArray(value) + ? value.map((item) => item.value) + : value?.value; + field.onChange({ target: { name: field.name, - value: Array.isArray(value) - ? value.map((item) => item.value) - : value?.value + value: selectedValue } }); + + onValueChange?.(selectedValue, value); }} onInputChange={handleInputChange} inputValue={inputText ?? value} diff --git a/src/components/Permissions/ManagePermissions/Forms/FormikPermissionSelectResourceFields.tsx b/src/components/Permissions/ManagePermissions/Forms/FormikPermissionSelectResourceFields.tsx index 9a7f3abe8..6f1db34aa 100644 --- a/src/components/Permissions/ManagePermissions/Forms/FormikPermissionSelectResourceFields.tsx +++ b/src/components/Permissions/ManagePermissions/Forms/FormikPermissionSelectResourceFields.tsx @@ -106,6 +106,16 @@ export default function FormikPermissionSelectResourceFields() { required name="playbook_id" playbookResourceSelector={[{}]} + onValueChange={(value, option) => { + if (option && (option as any).name) { + setFieldValue("object_selector", { + playbooks: [{ name: (option as any).name }], + configs: [{ name: "*" }] + }); + } else { + setFieldValue("object_selector", undefined); + } + }} /> )}