@@ -463,6 +463,38 @@ const TeamReviews = ({ onBack, periodId }) => {
463463 updateReviewPeriodDates ( newPeriod ) ;
464464 } ;
465465
466+ const handlePeriodStartDateChange = ( val , period ) => {
467+ /*
468+ const newDate = val?.$d;
469+ const isoDate = newDate?.toISOString() ?? null;
470+ const newPeriod = { ...period, closeDate: isoDate };
471+
472+ // Clear dates that are not correctly ordered.
473+ const launchDate = new Date(period.launchDate);
474+ const selfReviewCloseDate = new Date(period.selfReviewCloseDate);
475+ if (launchDate >= newDate) newPeriod.launchDate = null;
476+ if (selfReviewCloseDate >= newDate) newPeriod.selfReviewCloseDate = null;
477+
478+ updateReviewPeriodDates(newPeriod);
479+ */
480+ } ;
481+
482+ const handlePeriodEndDateChange = ( val , period ) => {
483+ /*
484+ const newDate = val?.$d;
485+ const isoDate = newDate?.toISOString() ?? null;
486+ const newPeriod = { ...period, closeDate: isoDate };
487+
488+ // Clear dates that are not correctly ordered.
489+ const launchDate = new Date(period.launchDate);
490+ const selfReviewCloseDate = new Date(period.selfReviewCloseDate);
491+ if (launchDate >= newDate) newPeriod.launchDate = null;
492+ if (selfReviewCloseDate >= newDate) newPeriod.selfReviewCloseDate = null;
493+
494+ updateReviewPeriodDates(newPeriod);
495+ */
496+ } ;
497+
466498 const loadReviews = useCallback ( async ( ) => {
467499 let newSelfReviews = { } ;
468500 let newReviews = { } ;
@@ -580,15 +612,16 @@ const TeamReviews = ({ onBack, periodId }) => {
580612 const validateReviewPeriod = period => {
581613 if ( ! period ) return 'No review period was created.' ;
582614 if ( ! period . launchDate ) return 'No launch date was specified.' ;
583- if ( ! period . selfReviewCloseDate )
584- return 'No self-review date was specified.' ;
615+ if ( ! period . selfReviewCloseDate ) return 'No self-review date was specified.' ;
585616 if ( ! period . closeDate ) return 'No close date was specified.' ;
617+ if ( ! period . periodStartDate ) return 'No period-start-date was specified.' ;
618+ if ( ! period . periodEndDate ) return 'No period-end-date was specified.' ;
586619 if ( teamMembers . length === 0 ) return 'No members were added.' ;
587620 const haveReviewers = teamMembers . every (
588621 member => getReviewers ( member ) . length > 0
589622 ) ;
590623 if ( ! haveReviewers ) return 'One or more members have no reviewer.' ;
591- return null ; // no validtation errors
624+ return null ; // no validation errors
592625 } ;
593626
594627 const updateReviewPeriodStatus = async reviewStatus => {
@@ -897,6 +930,18 @@ const TeamReviews = ({ onBack, periodId }) => {
897930 label = "Close Date"
898931 disabled = { ! canUpdate }
899932 />
933+ < DatePickerField
934+ date = { period . periodStartDate }
935+ setDate = { val => handlePeriodStartDateChange ( val , period ) }
936+ label = "Period Start Date"
937+ disabled = { ! canUpdate }
938+ />
939+ < DatePickerField
940+ date = { period . periodEndDate }
941+ setDate = { val => handlePeriodEndDateChange ( val , period ) }
942+ label = "Period End Date"
943+ disabled = { ! canUpdate }
944+ />
900945 </ div >
901946 { approvalButton ( ) }
902947 </ div >
0 commit comments