116 lines
3.0 KiB
TypeScript
116 lines
3.0 KiB
TypeScript
import {
|
|
Form,
|
|
FormError,
|
|
FieldError,
|
|
Label,
|
|
TextField,
|
|
Submit,
|
|
} from '@redwoodjs/forms'
|
|
|
|
const ProjectForm = (props) => {
|
|
const onSubmit = (data) => {
|
|
props.onSave(data, props?.project?.id)
|
|
}
|
|
|
|
return (
|
|
<div className="rw-form-wrapper">
|
|
<Form onSubmit={onSubmit} error={props.error}>
|
|
<FormError
|
|
error={props.error}
|
|
wrapperClassName="rw-form-error-wrapper"
|
|
titleClassName="rw-form-error-title"
|
|
listClassName="rw-form-error-list"
|
|
/>
|
|
|
|
<Label
|
|
name="title"
|
|
className="rw-label"
|
|
errorClassName="rw-label rw-label-error"
|
|
>
|
|
Title
|
|
</Label>
|
|
<TextField
|
|
name="title"
|
|
defaultValue={props.project?.title}
|
|
className="rw-input"
|
|
errorClassName="rw-input rw-input-error"
|
|
validation={{ required: true }}
|
|
/>
|
|
<FieldError name="title" className="rw-field-error" />
|
|
|
|
<Label
|
|
name="description"
|
|
className="rw-label"
|
|
errorClassName="rw-label rw-label-error"
|
|
>
|
|
Description
|
|
</Label>
|
|
<TextField
|
|
name="description"
|
|
defaultValue={props.project?.description}
|
|
className="rw-input"
|
|
errorClassName="rw-input rw-input-error"
|
|
validation={{ required: true }}
|
|
/>
|
|
<FieldError name="description" className="rw-field-error" />
|
|
|
|
<Label
|
|
name="code"
|
|
className="rw-label"
|
|
errorClassName="rw-label rw-label-error"
|
|
>
|
|
Code
|
|
</Label>
|
|
<TextField
|
|
name="code"
|
|
defaultValue={props.project?.code}
|
|
className="rw-input"
|
|
errorClassName="rw-input rw-input-error"
|
|
validation={{ required: true }}
|
|
/>
|
|
<FieldError name="code" className="rw-field-error" />
|
|
|
|
<Label
|
|
name="mainImage"
|
|
className="rw-label"
|
|
errorClassName="rw-label rw-label-error"
|
|
>
|
|
Main image
|
|
</Label>
|
|
<TextField
|
|
name="mainImage"
|
|
defaultValue={props.project?.mainImage}
|
|
className="rw-input"
|
|
errorClassName="rw-input rw-input-error"
|
|
validation={{ required: true }}
|
|
/>
|
|
<FieldError name="mainImage" className="rw-field-error" />
|
|
|
|
<Label
|
|
name="userId"
|
|
className="rw-label"
|
|
errorClassName="rw-label rw-label-error"
|
|
>
|
|
User id
|
|
</Label>
|
|
<TextField
|
|
name="userId"
|
|
defaultValue={props.project?.userId}
|
|
className="rw-input"
|
|
errorClassName="rw-input rw-input-error"
|
|
validation={{ required: true }}
|
|
/>
|
|
<FieldError name="userId" className="rw-field-error" />
|
|
|
|
<div className="rw-button-group">
|
|
<Submit disabled={props.loading} className="rw-button rw-button-blue">
|
|
Save
|
|
</Submit>
|
|
</div>
|
|
</Form>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default ProjectForm
|