diff --git a/frontend/src/components/__snapshots__/UploadPipelineDialog.test.tsx.snap b/frontend/src/components/__snapshots__/UploadPipelineDialog.test.tsx.snap
index 56f5fd4e963..c8d2353b2c7 100644
--- a/frontend/src/components/__snapshots__/UploadPipelineDialog.test.tsx.snap
+++ b/frontend/src/components/__snapshots__/UploadPipelineDialog.test.tsx.snap
@@ -73,309 +73,17 @@ exports[`UploadPipelineDialog renders an active dropzone 1`] = `
"readOnly": true,
}
}
- field="fileName"
- instance={
- UploadPipelineDialog {
- "_dropzoneRef": Object {
- "current": null,
- },
- "context": Object {},
- "handleChange": [Function],
- "props": Object {
- "onClose": [MockFunction],
- "open": false,
- },
- "refs": Object {},
- "setState": [Function],
- "state": Object {
- "busy": false,
- "dropzoneActive": true,
- "file": null,
- "fileName": "",
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "updater": Updater {
- "_callbacks": Array [],
- "_renderer": ReactShallowRenderer {
- "_context": Object {},
- "_element":
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "busy": false,
- "dropzoneActive": true,
- "file": null,
- "fileName": "",
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Drop files..
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="File"
+ onChange={[Function]}
required={true}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "busy": false,
- "dropzoneActive": true,
- "file": null,
- "fileName": "",
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Drop files..
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Pipeline name"
+ onChange={[Function]}
required={true}
+ value=""
/>
@@ -464,285 +172,17 @@ exports[`UploadPipelineDialog renders closed 1`] = `
"readOnly": true,
}
}
- field="fileName"
- instance={
- UploadPipelineDialog {
- "_dropzoneRef": Object {
- "current": null,
- },
- "context": Object {},
- "handleChange": [Function],
- "props": Object {
- "onClose": [MockFunction],
- "open": false,
- },
- "refs": Object {},
- "setState": [Function],
- "state": Object {
- "busy": false,
- "dropzoneActive": false,
- "file": null,
- "fileName": "",
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "updater": Updater {
- "_callbacks": Array [],
- "_renderer": ReactShallowRenderer {
- "_context": Object {},
- "_element": ,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": null,
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="File"
+ onChange={[Function]}
required={true}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": null,
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Pipeline name"
+ onChange={[Function]}
required={true}
+ value=""
/>
@@ -831,285 +271,17 @@ exports[`UploadPipelineDialog renders open 1`] = `
"readOnly": true,
}
}
- field="fileName"
- instance={
- UploadPipelineDialog {
- "_dropzoneRef": Object {
- "current": null,
- },
- "context": Object {},
- "handleChange": [Function],
- "props": Object {
- "onClose": [MockFunction],
- "open": false,
- },
- "refs": Object {},
- "setState": [Function],
- "state": Object {
- "busy": false,
- "dropzoneActive": false,
- "file": null,
- "fileName": "",
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "updater": Updater {
- "_callbacks": Array [],
- "_renderer": ReactShallowRenderer {
- "_context": Object {},
- "_element": ,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": null,
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="File"
+ onChange={[Function]}
required={true}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": null,
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Pipeline name"
+ onChange={[Function]}
required={true}
+ value=""
/>
@@ -1198,303 +370,17 @@ exports[`UploadPipelineDialog renders with a selected file to upload 1`] = `
"readOnly": true,
}
}
- field="fileName"
- instance={
- UploadPipelineDialog {
- "_dropzoneRef": Object {
- "current": null,
- },
- "context": Object {},
- "handleChange": [Function],
- "props": Object {
- "onClose": [MockFunction],
- "open": false,
- },
- "refs": Object {},
- "setState": [Function],
- "state": Object {
- "busy": false,
- "dropzoneActive": false,
- "file": null,
- "fileName": "",
- "fileToUpload": true,
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "updater": Updater {
- "_callbacks": Array [],
- "_renderer": ReactShallowRenderer {
- "_context": Object {},
- "_element": ,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "busy": false,
- "dropzoneActive": false,
- "file": null,
- "fileName": "",
- "fileToUpload": true,
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="File"
+ onChange={[Function]}
required={true}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "busy": false,
- "dropzoneActive": false,
- "file": null,
- "fileName": "",
- "fileToUpload": true,
- "uploadPipelineDescription": "",
- "uploadPipelineName": "",
- },
- "_rendered":
-
- Upload and name your pipeline
-
-
-
- Choose a pipeline package file from your computer, and give the pipeline a unique name.
-
- You can also drag and drop the file here.
-
-
-
- Choose file
-
- ,
- "readOnly": true,
- }
- }
- field="fileName"
- instance={[Circular]}
- label="File"
- required={true}
- />
-
-
-
-
-
- Cancel
-
-
- ,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Pipeline name"
+ onChange={[Function]}
required={true}
+ value=""
/>
diff --git a/frontend/src/pages/NewExperiment.tsx b/frontend/src/pages/NewExperiment.tsx
index 1f99ae1bba6..93a3e0c9623 100644
--- a/frontend/src/pages/NewExperiment.tsx
+++ b/frontend/src/pages/NewExperiment.tsx
@@ -73,7 +73,7 @@ class NewExperiment extends Page<{}, NewExperimentState> {
}
public render(): JSX.Element {
- const { validationError } = this.state;
+ const { description, experimentName, isbeingCreated, validationError } = this.state;
return (
@@ -87,12 +87,13 @@ class NewExperiment extends Page<{}, NewExperimentState> {
+ required={true} onChange={this.handleChange('experimentName')} value={experimentName}
+ autoFocus={true} />
+ onChange={this.handleChange('description')} value={description} />
-
this.props.history.push(RoutePage.EXPERIMENTS)}>
diff --git a/frontend/src/pages/NewRun.tsx b/frontend/src/pages/NewRun.tsx
index 682339e629d..e38c9888747 100644
--- a/frontend/src/pages/NewRun.tsx
+++ b/frontend/src/pages/NewRun.tsx
@@ -96,12 +96,15 @@ class NewRun extends Page<{}, NewRunState> {
public render(): JSX.Element {
const {
+ description,
errorMessage,
experimentName,
isRecurringRun,
isFirstRunInExperiment,
pipeline,
+ pipelineName,
pipelineSelectorOpen,
+ runName,
unconfirmedDialogPipelineId,
} = this.state;
@@ -111,7 +114,8 @@ class NewRun extends Page<{}, NewRunState> {
Run details
-
@@ -141,14 +145,16 @@ class NewRun extends Page<{}, NewRunState> {
-
-
+
+
{experimentName && (
)}
diff --git a/frontend/src/pages/__snapshots__/NewExperiment.test.tsx.snap b/frontend/src/pages/__snapshots__/NewExperiment.test.tsx.snap
index 3e840724a77..2d3b16d40a9 100644
--- a/frontend/src/pages/__snapshots__/NewExperiment.test.tsx.snap
+++ b/frontend/src/pages/__snapshots__/NewExperiment.test.tsx.snap
@@ -19,408 +19,23 @@ exports[`NewExperiment Enables the 'Next' button when an experiment name is ente
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "description": "",
- "experimentName": "experiment name",
- "isbeingCreated": false,
- "validationError": "",
- },
- "_rendered":
-
-
- Experiment details
-
-
- Think of an Experiment as a space that contains the history of all pipelines and their associated runs
-
-
-
-
-
-
,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Experiment name"
+ onChange={[Function]}
required={true}
+ value="experiment name"
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "description": "",
- "experimentName": "experiment name",
- "isbeingCreated": false,
- "validationError": "",
- },
- "_rendered":
-
-
- Experiment details
-
-
- Think of an Experiment as a space that contains the history of all pipelines and their associated runs
-
-
-
-
-
-
,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Description (optional)"
multiline={true}
+ onChange={[Function]}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "description": "",
- "experimentName": "",
- "isbeingCreated": false,
- "validationError": "Experiment name is required",
- },
- "_rendered":
-
-
- Experiment details
-
-
- Think of an Experiment as a space that contains the history of all pipelines and their associated runs
-
-
-
-
-
-
- Cancel
-
-
- Experiment name is required
-
-
-
-
,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Experiment name"
+ onChange={[Function]}
required={true}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "description": "",
- "experimentName": "",
- "isbeingCreated": false,
- "validationError": "Experiment name is required",
- },
- "_rendered":
-
-
- Experiment details
-
-
- Think of an Experiment as a space that contains the history of all pipelines and their associated runs
-
-
-
-
-
-
- Cancel
-
-
- Experiment name is required
-
-
-
-
,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Description (optional)"
multiline={true}
+ onChange={[Function]}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "description": "",
- "experimentName": "",
- "isbeingCreated": false,
- "validationError": "Experiment name is required",
- },
- "_rendered":
-
-
- Experiment details
-
-
- Think of an Experiment as a space that contains the history of all pipelines and their associated runs
-
-
-
-
-
-
- Cancel
-
-
- Experiment name is required
-
-
-
-
,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Experiment name"
+ onChange={[Function]}
required={true}
+ value=""
/>
,
- "_forcedUpdate": false,
- "_instance": [Circular],
- "_newState": Object {
- "description": "",
- "experimentName": "",
- "isbeingCreated": false,
- "validationError": "Experiment name is required",
- },
- "_rendered":
-
-
- Experiment details
-
-
- Think of an Experiment as a space that contains the history of all pipelines and their associated runs
-
-
-
-
-
-
- Cancel
-
-
- Experiment name is required
-
-
-
-
,
- "_rendering": false,
- "_updater": [Circular],
- },
- },
- Symbol(enzyme.__setState__): [Function],
- }
- }
label="Description (optional)"
multiline={true}
+ onChange={[Function]}
+ value=""
/>