@@ -543,7 +543,7 @@ import * as immutable from "immutable";
543543import { storeToRefs } from " pinia" ;
544544import { FieldArray , Form } from " vee-validate" ;
545545import { toTypedSchema } from " @vee-validate/zod" ;
546- import { ref , useTemplateRef } from " vue" ;
546+ import { ref , useTemplateRef , watch } from " vue" ;
547547import * as z from " zod" ;
548548
549549import * as tf from " @tensorflow/tfjs" ;
@@ -554,6 +554,8 @@ import {
554554 Task ,
555555 Tokenizer ,
556556 TrainingInformation ,
557+ type DataType ,
558+ type Network ,
557559} from " @epfml/discojs" ;
558560
559561import { useToaster } from " @/composables/toaster" ;
@@ -572,13 +574,27 @@ const debug = createDebug("webapp:TaskForm");
572574const toaster = useToaster ();
573575const { tasks } = storeToRefs (useTasksStore ());
574576
575- const dataType = ref (" image" );
576- const scheme = ref (" federated" );
577+ const dataType = ref < DataType > (" image" );
578+ const scheme = ref < Network > (" federated" );
577579const aggregationStrategy = ref (" mean" );
578580const differentialPrivacy = ref (false );
579581const weightClipping = ref (false );
580582
581583const form = useTemplateRef (" form" );
584+
585+ watch ([dataType , form ], ([dataType , form ]) => {
586+ if (form === null ) return ;
587+
588+ switch (dataType ) {
589+ case " image" :
590+ form .setFieldValue (" trainingInformation.LABEL_LIST" , [" " ]);
591+ break ;
592+ case " tabular" :
593+ form .setFieldValue (" trainingInformation.inputColumns" , [" " ]);
594+ break ;
595+ }
596+ });
597+
582598// warn user on page content loss
583599window .onbeforeunload = (event ) => {
584600 if (form .value === null || form .value .meta .dirty === false ) return ;
0 commit comments