mirror of https://github.com/portainer/portainer
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { useFormikContext } from 'formik';
|
|
|
|
import { EdgeGroupAssociationTable } from '@/react/edge/components/EdgeGroupAssociationTable';
|
|
import { EdgeTypes } from '@/react/portainer/environments/types';
|
|
|
|
import { BoxSelector } from '@@/BoxSelector';
|
|
import { TagSelector } from '@@/TagSelector';
|
|
import { FormSection } from '@@/form-components/FormSection';
|
|
|
|
import { tagOptions } from './tag-options';
|
|
import { FormValues } from './types';
|
|
|
|
export function DynamicGroupFieldset() {
|
|
const { values, setFieldValue, errors } = useFormikContext<FormValues>();
|
|
return (
|
|
<>
|
|
<FormSection title="Tags">
|
|
<BoxSelector
|
|
slim
|
|
value={values.partialMatch}
|
|
onChange={(partialMatch) =>
|
|
setFieldValue('partialMatch', partialMatch)
|
|
}
|
|
options={tagOptions}
|
|
radioName="partialMatch"
|
|
/>
|
|
<TagSelector
|
|
value={values.tagIds}
|
|
onChange={(tagIds) => setFieldValue('tagIds', tagIds)}
|
|
errors={errors.tagIds}
|
|
/>
|
|
</FormSection>
|
|
|
|
<EdgeGroupAssociationTable
|
|
data-cy="edgeGroupCreate-associatedEnvironmentsTable"
|
|
title="Associated environments by tags"
|
|
query={{
|
|
types: EdgeTypes,
|
|
tagIds: values.tagIds,
|
|
tagsPartialMatch: values.partialMatch,
|
|
}}
|
|
/>
|
|
</>
|
|
);
|
|
}
|