public/video-ui/src/components/Workflow/WorkflowForm.jsx (60 lines of code) (raw):
import React from 'react';
import PropTypes from 'prop-types';
import { ManagedForm, ManagedField } from '../ManagedForm';
import SelectBox from '../FormFields/SelectBox';
import TextAreaInput from '../FormFields/TextAreaInput';
export default class WorkflowForm extends React.Component {
static propTypes = {
editable: PropTypes.bool.isRequired,
video: PropTypes.object.isRequired,
workflowSections: PropTypes.array.isRequired,
workflowStatuses: PropTypes.array.isRequired,
workflowPriorities: PropTypes.array.isRequired,
workflowStatus: PropTypes.object.isRequired,
workflowProductionOffices: PropTypes.array.isRequired,
updateData: PropTypes.func.isRequired
};
render() {
return (
<ManagedForm
data={this.props.workflowStatus}
updateData={this.props.updateData}
editable={this.props.editable}
formName="WorkflowDetails"
>
<ManagedField
fieldLocation="prodOffice"
name="Production Office"
disabled={!this.props.editable}
>
<SelectBox selectValues={this.props.workflowProductionOffices} />
</ManagedField>
<ManagedField
fieldLocation="section"
name="Section"
disabled={!this.props.editable || this.props.workflowStatus.isTrackedInWorkflow}>
<SelectBox selectValues={this.props.workflowSections} />
</ManagedField>
<ManagedField
fieldLocation="note"
name="Note"
disabled={!this.props.editable}>
<TextAreaInput />
</ManagedField>
<ManagedField
fieldLocation="status"
name="Status"
disabled={!this.props.editable}>
<SelectBox selectValues={this.props.workflowStatuses} />
</ManagedField>
<ManagedField
fieldLocation="priority"
name="Priority"
disabled={!this.props.editable}>
<SelectBox selectValues={this.props.workflowPriorities}
/>
</ManagedField>
</ManagedForm>
);
}
}