@@ -16,6 +16,7 @@ import {
16
16
} from "modules/workspaces/DynamicParameter/DynamicParameter" ;
17
17
import type { FC } from "react" ;
18
18
import { docs } from "utils/docs" ;
19
+ import { AutofillBuildParameter } from "utils/richParameters" ;
19
20
20
21
type WorkspaceParametersPageViewExperimentalProps = {
21
22
workspace : Workspace ;
@@ -44,14 +45,32 @@ export const WorkspaceParametersPageViewExperimental: FC<
44
45
sendMessage,
45
46
onCancel,
46
47
} ) => {
48
+
49
+ const autoFillValues : AutofillBuildParameter [ ] = originalParameters ! . map ( ( p ) => ( {
50
+ ...p ,
51
+ source : "active_build" ,
52
+ } ) )
53
+ const autofillByName = Object . fromEntries (
54
+ autoFillValues . map ( ( param ) => [ param . name , param ] ) ,
55
+ ) ;
56
+
57
+
58
+ const initialTouched = parameters . reduce (
59
+ ( touched , parameter ) => {
60
+ if ( autofillByName [ parameter . name ] !== undefined ) {
61
+ touched [ parameter . name ] = true ;
62
+ }
63
+ return touched ;
64
+ } ,
65
+ { } as Record < string , boolean > ,
66
+ ) ;
67
+
47
68
const form = useFormik ( {
48
69
onSubmit,
49
70
initialValues : {
50
- rich_parameter_values : getInitialParameterValues ( parameters , originalParameters ! . map ( ( p ) => ( {
51
- ...p ,
52
- source : "active_build" ,
53
- } ) ) ) ,
71
+ rich_parameter_values : getInitialParameterValues ( parameters , autoFillValues ) ,
54
72
} ,
73
+ initialTouched,
55
74
validationSchema : useValidationSchemaForDynamicParameters ( parameters ) ,
56
75
enableReinitialize : false ,
57
76
validateOnChange : true ,
0 commit comments