import {Button, Form, FormInstance, Input, Select, SelectProps, Space, Tag, Tooltip, Typography} from "antd"; import {t} from "ttag"; import {ApiOutlined, MinusCircleOutlined, PlusOutlined} from "@ant-design/icons"; import React from "react"; import {Connector} from "../../../utils/api/connectors"; import {rdapEventDetailTranslation, rdapEventNameTranslation} from "../../../utils/functions/rdapTranslation"; import {actionToColor} from "../../../utils/functions/actionToColor"; import {actionToIcon} from "../../../utils/functions/actionToIcon"; type TagRender = SelectProps['tagRender']; const formItemLayout = { labelCol: { xs: {span: 24}, sm: {span: 4}, }, wrapperCol: { xs: {span: 24}, sm: {span: 20}, }, }; const formItemLayoutWithOutLabel = { wrapperCol: { xs: {span: 24, offset: 0}, sm: {span: 20, offset: 4}, }, }; export function WatchlistForm({form, connectors, onFinish, isCreation}: { form: FormInstance, connectors: (Connector & { id: string })[] onFinish: (values: { domains: string[], triggers: string[], token: string }) => void isCreation: boolean }) { const rdapEventNameTranslated = rdapEventNameTranslation() const rdapEventDetailTranslated = rdapEventDetailTranslation() const triggerTagRenderer: TagRender = (props) => { const {value, closable, onClose} = props; const onPreventMouseDown = (event: React.MouseEvent) => { event.preventDefault() event.stopPropagation() } return ( {rdapEventNameTranslated[value as keyof typeof rdapEventNameTranslated]} ) } return
{ if (!domains || domains.length < 1) { return Promise.reject(new Error(t`At least one domain name`)); } }, }, ]} > {(fields, {add, remove}, {errors}) => ( <> {fields.map((field, index) => ( {fields.length > 1 ? ( remove(field.name)} /> ) : null} ))} )} } optionFilterProp="label" options={connectors.map(c => ({ label: `${c.provider} (${c.id})`, value: c.id }))} /> {(fields, {add, remove}, {errors}) => ( <> {fields.map((field, index) => ( {fields.length > 0 ? ( remove(field.name)} /> ) : null} ))} {t`Check out this link to the Symfony documentation to help you build the DSN`} } > )}
}