@@ -463,6 +463,38 @@ const TeamReviews = ({ onBack, periodId }) => {
463
463
updateReviewPeriodDates ( newPeriod ) ;
464
464
} ;
465
465
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
+
466
498
const loadReviews = useCallback ( async ( ) => {
467
499
let newSelfReviews = { } ;
468
500
let newReviews = { } ;
@@ -580,15 +612,16 @@ const TeamReviews = ({ onBack, periodId }) => {
580
612
const validateReviewPeriod = period => {
581
613
if ( ! period ) return 'No review period was created.' ;
582
614
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.' ;
585
616
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.' ;
586
619
if ( teamMembers . length === 0 ) return 'No members were added.' ;
587
620
const haveReviewers = teamMembers . every (
588
621
member => getReviewers ( member ) . length > 0
589
622
) ;
590
623
if ( ! haveReviewers ) return 'One or more members have no reviewer.' ;
591
- return null ; // no validtation errors
624
+ return null ; // no validation errors
592
625
} ;
593
626
594
627
const updateReviewPeriodStatus = async reviewStatus => {
@@ -897,6 +930,18 @@ const TeamReviews = ({ onBack, periodId }) => {
897
930
label = "Close Date"
898
931
disabled = { ! canUpdate }
899
932
/>
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
+ />
900
945
</ div >
901
946
{ approvalButton ( ) }
902
947
</ div >
0 commit comments