// Copyright (C) 2020 Intel Corporation // // SPDX-License-Identifier: MIT import React from 'react'; import Input from 'antd/lib/input'; import Form, { FormComponentProps } from '@ant-design/compatible/lib/form/Form'; export interface BaseConfiguration { name: string; } type Props = FormComponentProps & { onSubmit(values: BaseConfiguration): void; }; class BasicConfigurationForm extends React.PureComponent { public submit(): Promise { return new Promise((resolve, reject) => { const { form, onSubmit } = this.props; form.validateFields((error, values): void => { if (!error) { onSubmit({ name: values.name, }); resolve(); } else { reject(); } }); }); } public resetFields(): void { const { form } = this.props; form.resetFields(); } public render(): JSX.Element { const { form } = this.props; const { getFieldDecorator } = form; return (
e.preventDefault()}> Name}> {getFieldDecorator('name', { rules: [ { required: true, message: 'Please, specify a name', }, ], })()}
); } } export default Form.create()(BasicConfigurationForm);