|
@@ -3,8 +3,8 @@ import gql from 'graphql-tag'
|
|
import { QUERY_PROJECTS } from './ProjectList'
|
|
import { QUERY_PROJECTS } from './ProjectList'
|
|
|
|
|
|
const ADD_CHARACTERIZATION = gql`
|
|
const ADD_CHARACTERIZATION = gql`
|
|
- mutation ADD_CHARACTERIZATION($name: String!, $projectVersion: ID!, $measurementRuns: [MeasurementRun!]) {
|
|
|
|
- createCharacterization(data: {name: $name, projectVersion: $projectVersion, measurementRuns: $measurementRuns}) {
|
|
|
|
|
|
+ mutation ADD_CHARACTERIZATION($name: String!, $projectVersion: ID!) {
|
|
|
|
+ createCharacterization(name: $name, projectVersion: $projectVersion) {
|
|
id
|
|
id
|
|
name
|
|
name
|
|
projectVersion {
|
|
projectVersion {
|
|
@@ -30,10 +30,10 @@ const QUERY_PROJECT_VERSIONS = gql`
|
|
|
|
|
|
class CharacterziationForm extends React.Component {
|
|
class CharacterziationForm extends React.Component {
|
|
state = {
|
|
state = {
|
|
|
|
+ id: null,
|
|
name: '',
|
|
name: '',
|
|
project: null,
|
|
project: null,
|
|
- projectVersion: null,
|
|
|
|
- measurementRuns: null
|
|
|
|
|
|
+ projectVersion: null
|
|
}
|
|
}
|
|
|
|
|
|
toState = event => {
|
|
toState = event => {
|
|
@@ -44,10 +44,11 @@ class CharacterziationForm extends React.Component {
|
|
return (
|
|
return (
|
|
<Mutation mutation={ADD_CHARACTERIZATION} variables={this.state}>
|
|
<Mutation mutation={ADD_CHARACTERIZATION} variables={this.state}>
|
|
{(addCharacterization, { data, error, loading }) => (
|
|
{(addCharacterization, { data, error, loading }) => (
|
|
- <form onSubmit={event => {
|
|
|
|
|
|
+ <form onSubmit={async event => {
|
|
event.preventDefault()
|
|
event.preventDefault()
|
|
- console.log(this.state)
|
|
|
|
- addCharacterization()
|
|
|
|
|
|
+ const { data } = await addCharacterization()
|
|
|
|
+ const { createCharacterization } = data
|
|
|
|
+ this.setState({ id: createCharacterization.id })
|
|
}}>
|
|
}}>
|
|
<fieldset>
|
|
<fieldset>
|
|
<label htmlFor="name">Characterization name</label>
|
|
<label htmlFor="name">Characterization name</label>
|
|
@@ -63,11 +64,11 @@ class CharacterziationForm extends React.Component {
|
|
if (!data) return (<p>No project found.</p>)
|
|
if (!data) return (<p>No project found.</p>)
|
|
|
|
|
|
const { projects } = data
|
|
const { projects } = data
|
|
|
|
+ if (!this.state.project) this.setState({ project: projects[0].id })
|
|
return (
|
|
return (
|
|
<>
|
|
<>
|
|
<label htmlFor="project">Project</label>
|
|
<label htmlFor="project">Project</label>
|
|
<select name="project" id="project" onChange={this.toState}>
|
|
<select name="project" id="project" onChange={this.toState}>
|
|
- <option value={null}>---</option>
|
|
|
|
{data.projects.map(project => <option key={project.id} value={project.id}>{project.name}</option>)}
|
|
{data.projects.map(project => <option key={project.id} value={project.id}>{project.name}</option>)}
|
|
</select>
|
|
</select>
|
|
<Query query={QUERY_PROJECT_VERSIONS} variables={{ projectId: this.state.project }}>
|
|
<Query query={QUERY_PROJECT_VERSIONS} variables={{ projectId: this.state.project }}>
|
|
@@ -77,11 +78,11 @@ class CharacterziationForm extends React.Component {
|
|
if (!data) return (<p>No project version found.</p>)
|
|
if (!data) return (<p>No project version found.</p>)
|
|
|
|
|
|
const { projectVersions } = data
|
|
const { projectVersions } = data
|
|
|
|
+ if (!this.state.projectVersion) this.setState({ projectVersion: projectVersions[0].id })
|
|
return (
|
|
return (
|
|
<>
|
|
<>
|
|
<label htmlFor="projectVersion"></label>
|
|
<label htmlFor="projectVersion"></label>
|
|
<select name="projectVersion" id="projectVersion" onChange={this.toState}>
|
|
<select name="projectVersion" id="projectVersion" onChange={this.toState}>
|
|
- <option value={null}>---</option>
|
|
|
|
{data.projectVersions.map(projectVersion =>
|
|
{data.projectVersions.map(projectVersion =>
|
|
<option key={projectVersion.id} value={projectVersion.id}>{projectVersion.name}</option>
|
|
<option key={projectVersion.id} value={projectVersion.id}>{projectVersion.name}</option>
|
|
)}
|
|
)}
|