@@ -15,20 +15,21 @@ import validate from 'validate.js';
15
15
interface WorkflowModalProps {
16
16
setCreateWorkflowModalOpen : ( x : boolean ) => void ;
17
17
title : string ;
18
- namespace : string ;
19
- name : string ;
20
- synopsis : string ;
21
- documentation : string ;
22
- snapshotComment : string ;
18
+ defaultNamespace ? : string ;
19
+ defaultName ? : string ;
20
+ defaultSynopsis ? : string ;
21
+ defaultDocumentation ? : string ;
22
+ defaultSnapshotComment ? : string ;
23
23
buttonActionName : string ; // name of the primary button i.e. 'save' or 'upload'
24
- wdl : string ;
25
- buttonAction : ( ) => Promise < void > ;
26
- setWorkflowNamespace : ( value : string ) => void ;
27
- setWorkflowName : ( value : string ) => void ;
28
- setWorkflowSynopsis : ( value : string ) => void ;
29
- setWorkflowDocumentation : ( value : string ) => void ;
30
- setSnapshotComment : ( value : string ) => void ;
31
- setWdl : ( value : string ) => void ;
24
+ defaultWdl ?: string ;
25
+ buttonAction : (
26
+ workflowNamespace : string ,
27
+ workflowName : string ,
28
+ workflowWdl : string ,
29
+ workflowDocumentation : string ,
30
+ workflowSynopsis : string ,
31
+ snapshotComment : string
32
+ ) => Promise < void > ;
32
33
}
33
34
34
35
interface NamespaceNameSectionProps {
@@ -243,22 +244,23 @@ export const WorkflowModal = (props: WorkflowModalProps) => {
243
244
const {
244
245
setCreateWorkflowModalOpen,
245
246
title,
246
- namespace ,
247
- name ,
247
+ defaultNamespace ,
248
+ defaultName ,
248
249
buttonActionName,
249
- synopsis ,
250
- documentation ,
250
+ defaultSynopsis ,
251
+ defaultDocumentation ,
251
252
buttonAction,
252
- setWorkflowNamespace,
253
- setWorkflowName,
254
- setWorkflowSynopsis,
255
- setWorkflowDocumentation,
256
- snapshotComment,
257
- setSnapshotComment,
258
- wdl,
259
- setWdl,
253
+ defaultSnapshotComment,
254
+ defaultWdl,
260
255
} = props ;
261
256
257
+ const [ namespace , setNamespace ] = useState < string > ( defaultNamespace || '' ) ;
258
+ const [ name , setName ] = useState < string > ( defaultName || '' ) ;
259
+ const [ wdl , setWdl ] = useState < string > ( defaultWdl || '' ) ;
260
+ const [ documentation , setDocumentation ] = useState < string > ( defaultDocumentation || '' ) ;
261
+ const [ synopsis , setSynopsis ] = useState < string > ( defaultSynopsis || '' ) ;
262
+ const [ snapshotComment , setSnapshotComment ] = useState < string > ( defaultSnapshotComment || '' ) ;
263
+
262
264
const [ busy , setBusy ] = useState < boolean > ( false ) ;
263
265
const [ submissionError , setSubmissionError ] = useState < any > ( null ) ;
264
266
@@ -269,7 +271,7 @@ export const WorkflowModal = (props: WorkflowModalProps) => {
269
271
270
272
const onSubmitWorkflow = withBusyState ( setBusy , async ( ) => {
271
273
try {
272
- await buttonAction ( ) ;
274
+ await buttonAction ( namespace , name , wdl , documentation , synopsis , snapshotComment ) ;
273
275
} catch ( error ) {
274
276
setSubmissionError ( error instanceof Response ? await error . text ( ) : error ) ;
275
277
}
@@ -288,15 +290,7 @@ export const WorkflowModal = (props: WorkflowModalProps) => {
288
290
289
291
return (
290
292
< Modal
291
- onDismiss = { ( ) => {
292
- setCreateWorkflowModalOpen ( false ) ;
293
- setWorkflowNamespace ( '' ) ;
294
- setWorkflowName ( '' ) ;
295
- setWdl ( '' ) ;
296
- setWorkflowDocumentation ( '' ) ;
297
- setWorkflowSynopsis ( '' ) ;
298
- setSnapshotComment ( '' ) ;
299
- } }
293
+ onDismiss = { ( ) => setCreateWorkflowModalOpen ( false ) }
300
294
title = { title }
301
295
width = '75rem'
302
296
okButton = { submitWorkflowButton }
@@ -306,18 +300,18 @@ export const WorkflowModal = (props: WorkflowModalProps) => {
306
300
< NamespaceNameSection
307
301
namespace = { namespace }
308
302
name = { name }
309
- setWorkflowNamespace = { setWorkflowNamespace }
310
- setWorkflowName = { setWorkflowName }
303
+ setWorkflowNamespace = { setNamespace }
304
+ setWorkflowName = { setName }
311
305
errors = { validationErrors }
312
306
/>
313
307
</ div >
314
308
< div style = { { paddingTop : '1.5rem' } } >
315
309
< WdlBoxSection wdlPayload = { wdl } setWdlPayload = { setWdl } />
316
310
</ div >
317
- < DocumentationSection documentation = { documentation } setWorkflowDocumentation = { setWorkflowDocumentation } />
311
+ < DocumentationSection documentation = { documentation } setWorkflowDocumentation = { setDocumentation } />
318
312
< SynopsisSnapshotSection
319
313
synopsis = { synopsis }
320
- setWorkflowSynopsis = { setWorkflowSynopsis }
314
+ setWorkflowSynopsis = { setSynopsis }
321
315
errors = { validationErrors }
322
316
snapshotComment = { snapshotComment }
323
317
setSnapshotComment = { setSnapshotComment }
0 commit comments