@@ -66,7 +66,7 @@ function QuestionnaireEntries() {
66
66
setEntryUpdadingId ( undefined ) ;
67
67
} ;
68
68
69
- const handleOnSave = ( { carer, ...rest } : EntryFormValues ) => {
69
+ const handleCreate = ( { carer, ...rest } : EntryFormValues ) => {
70
70
if ( selectedWeekday === undefined ) return ;
71
71
72
72
const entryRequest = {
@@ -76,10 +76,24 @@ function QuestionnaireEntries() {
76
76
questionnaire : questionnaire . id ,
77
77
} ;
78
78
79
+ createMutation . mutate ( { body : entryRequest } , { onSuccess : handleReset } ) ;
80
+ } ;
81
+
82
+ const handleUpdate = ( id : number , { carer, ...rest } : Partial < EntryFormValues > ) => {
83
+ const entryRequest = {
84
+ ...rest ,
85
+ carer : carer ! ,
86
+ questionnaire : questionnaire . id ,
87
+ } ;
88
+
89
+ updateMutation . mutate ( { body : entryRequest , params : { path : { id : id . toString ( ) } } } , { onSuccess : handleReset } ) ;
90
+ } ;
91
+
92
+ const handleOnSave = ( entry : EntryFormValues | Partial < EntryFormValues > ) => {
79
93
if ( ! entryUpdatingId ) {
80
- createMutation . mutate ( { body : entryRequest } , { onSuccess : handleReset } ) ;
94
+ handleCreate ( entry as EntryFormValues ) ;
81
95
} else {
82
- updateMutation . mutate ( { body : entryRequest , params : { path : { id : entryUpdatingId ?. toString ( ) } } } , { onSuccess : handleReset } ) ;
96
+ handleUpdate ( entryUpdatingId , entry ) ;
83
97
}
84
98
} ;
85
99
@@ -100,25 +114,26 @@ function QuestionnaireEntries() {
100
114
editable
101
115
events = { events }
102
116
selectable
103
- select = { ( args ) => {
104
- setEntryDraft ( { startedAt : getTime ( args . start ) , endedAt : getTime ( args . end ) } ) ;
105
- setSelectedWeekday ( args . start . getDay ( ) ) ;
117
+ select = { ( { start , end } ) => {
118
+ setEntryDraft ( { startedAt : getTime ( start ) , endedAt : getTime ( end ) } ) ;
119
+ setSelectedWeekday ( start . getDay ( ) ) ;
106
120
open ( ) ;
107
121
} }
108
122
eventClick = { ( args ) => {
109
- const { carer, entryLanguages, weekday, id } =
110
- questionnaire . entries ?. find ( ( entry ) => entry . id . toString ( ) === args . event . id ) ?? { } ;
123
+ const { carer, entryLanguages, id } = questionnaire . entries ?. find ( ( entry ) => entry . id . toString ( ) === args . event . id ) ?? { } ;
111
124
112
- setEntryUpdadingId ( id ) ;
113
125
setEntryDraft ( {
114
126
carer : carer ?. id ,
115
127
startedAt : getTime ( args . event . start ! ) ,
116
128
endedAt : getTime ( args . event . end ! ) ,
117
129
entryLanguages : entryLanguages ?. map ( ( { language, ...rest } ) => ( { ...rest , language : language . id } ) ) ,
118
130
} ) ;
119
- setSelectedWeekday ( weekday ) ;
131
+ setEntryUpdadingId ( id ) ;
120
132
open ( ) ;
121
133
} }
134
+ eventResize = { ( { event : { id, start, end } } ) => {
135
+ handleUpdate ( parseInt ( id ) , { startedAt : getTime ( start ! ) , endedAt : getTime ( end ! ) } ) ;
136
+ } }
122
137
eventContent = { ( { event } ) => < QuestionnaireEntry event = { event } /> }
123
138
/>
124
139
< Group >
0 commit comments