@@ -157,10 +157,10 @@ export default function Filters(props: Props) {
157157
158158 // for saving the input values on change but only updating them onBlur or onKeyDown+enter
159159 const dateChange = useRef < Dayjs | null > ( dayjsDate ) ;
160- const startTimeChange = useRef < Dayjs | null > (
160+ const [ startTimeChange , setStartTimeChange ] = useState < Dayjs | null > (
161161 dayjs ( date + startTime , 'YYYY-MM-DDHH:mm' ) ,
162162 ) ;
163- const endTimeChange = useRef < Dayjs | null > (
163+ const [ endTimeChange , setEndTimeChange ] = useState < Dayjs | null > (
164164 dayjs ( date + endTime , 'YYYY-MM-DDHH:mm' ) ,
165165 ) ;
166166 const [ minCapacityChange , setMinCapacityChange ] = useState ( minCapacity ?? '' ) ;
@@ -255,8 +255,8 @@ export default function Filters(props: Props) {
255255 timeSteps = { { minutes : 15 } }
256256 label = "Start time"
257257 className = "w-full"
258- value = { startTime ? dayjs ( startTime , 'HH:mm' ) : null }
259- onChange = { ( newValue ) => ( startTimeChange . current = newValue ) }
258+ value = { startTimeChange }
259+ onChange = { ( newValue ) => setStartTimeChange ( newValue ) }
260260 onAccept = { setStartTime }
261261 slotProps = { {
262262 actionBar : {
@@ -268,19 +268,19 @@ export default function Filters(props: Props) {
268268 helperText : error && 'Start time must be before end time' ,
269269 onBlur : ( ) => {
270270 setStartTime (
271- startTimeChange . current == null ||
272- ! startTimeChange . current . isValid ( )
271+ startTimeChange == null ||
272+ ! startTimeChange . isValid ( )
273273 ? null
274- : startTimeChange . current ,
274+ : startTimeChange ,
275275 ) ;
276276 } ,
277277 onKeyDown : ( e ) => {
278278 if ( e . key === 'Enter' ) {
279279 setStartTime (
280- startTimeChange . current == null ||
281- ! startTimeChange . current . isValid ( )
280+ startTimeChange == null ||
281+ ! startTimeChange . isValid ( )
282282 ? null
283- : startTimeChange . current ,
283+ : startTimeChange ,
284284 ) ;
285285 }
286286 } ,
@@ -295,8 +295,8 @@ export default function Filters(props: Props) {
295295 timeSteps = { { minutes : 15 } }
296296 label = "End time"
297297 className = "w-full"
298- value = { endTime ? dayjs ( endTime , 'HH:mm' ) : null }
299- onChange = { ( newValue ) => ( endTimeChange . current = newValue ) }
298+ value = { endTimeChange }
299+ onChange = { ( newValue ) => setEndTimeChange ( newValue ) }
300300 onAccept = { setEndTime }
301301 slotProps = { {
302302 actionBar : {
@@ -308,19 +308,19 @@ export default function Filters(props: Props) {
308308 helperText : error && 'Start time must be before end time' ,
309309 onBlur : ( ) => {
310310 setEndTime (
311- endTimeChange . current == null ||
312- ! endTimeChange . current . isValid ( )
311+ endTimeChange == null ||
312+ ! endTimeChange . isValid ( )
313313 ? null
314- : endTimeChange . current ,
314+ : endTimeChange ,
315315 ) ;
316316 } ,
317317 onKeyDown : ( e ) => {
318318 if ( e . key === 'Enter' ) {
319319 setEndTime (
320- endTimeChange . current == null ||
321- ! endTimeChange . current . isValid ( )
320+ endTimeChange == null ||
321+ ! endTimeChange . isValid ( )
322322 ? null
323- : endTimeChange . current ,
323+ : endTimeChange ,
324324 ) ;
325325 }
326326 } ,
0 commit comments