import {Fragment, useMemo} from 'react'; import type {ModalRenderProps} from 'sentry/actionCreators/modal'; import {Alert} from 'sentry/components/core/alert'; import BooleanField from 'sentry/components/forms/fields/booleanField'; import RangeField from 'sentry/components/forms/fields/rangeField'; import type {SerializedOption} from 'admin/views/options'; interface EditAdminOptionModalProps extends ModalRenderProps { allOptions: SerializedOption[]; option: SerializedOption; path: string; } function EditAdminOptionModal({ Body, Header, option, allOptions, }: EditAdminOptionModalProps) { const groupedOptions = useMemo(() => { const options = option.groupingInfo ? allOptions.filter(o => o.groupingInfo?.name === option.groupingInfo?.name) : [option]; options.sort((a, b) => (a.groupingInfo?.order || 0) - (b.groupingInfo?.order || 0)); return options; }, []); // eslint-disable-line react-hooks/exhaustive-deps return (
Edit Option {option.groupingInfo ? 'Group' : null}
Options setting through _admin is deprecated. Please use the options automator. {groupedOptions.map(o => ( ))}
); } function EditOption({option}: {option: SerializedOption}) { return option.fieldType === 'bool' ? ( ) : ( ); } // TODO(TS): Type cast added as part of react 18 upgrade, can remove after? export default EditAdminOptionModal;