| @@ -48,8 +48,14 @@ const CreateTaskTemplate: React.FC<Props> = ({ tasks }) => { | |||||
| register, | register, | ||||
| handleSubmit, | handleSubmit, | ||||
| setValue, | setValue, | ||||
| watch, | |||||
| formState: { errors, isSubmitting }, | formState: { errors, isSubmitting }, | ||||
| } = useForm<NewTaskTemplateFormInputs>(); | |||||
| } = useForm<NewTaskTemplateFormInputs>({ defaultValues: { taskIds: [] } }); | |||||
| const currentTaskIds = watch("taskIds"); | |||||
| const selectedItems = React.useMemo(() => { | |||||
| return items.filter((item) => currentTaskIds.includes(item.id)); | |||||
| }, [currentTaskIds, items]); | |||||
| const onSubmit: SubmitHandler<NewTaskTemplateFormInputs> = React.useCallback( | const onSubmit: SubmitHandler<NewTaskTemplateFormInputs> = React.useCallback( | ||||
| async (data) => { | async (data) => { | ||||
| @@ -100,11 +106,11 @@ const CreateTaskTemplate: React.FC<Props> = ({ tasks }) => { | |||||
| </Grid> | </Grid> | ||||
| <TransferList | <TransferList | ||||
| allItems={items} | allItems={items} | ||||
| initiallySelectedItems={[]} | |||||
| onChange={(selectedItems) => { | |||||
| selectedItems={selectedItems} | |||||
| onChange={(selectedTasks) => { | |||||
| setValue( | setValue( | ||||
| "taskIds", | "taskIds", | ||||
| selectedItems.map((item) => item.id), | |||||
| selectedTasks.map((item) => item.id), | |||||
| ); | ); | ||||
| }} | }} | ||||
| allItemsLabel={t("Task Pool")} | allItemsLabel={t("Task Pool")} | ||||