Skip to content

Commit 9c078b8

Browse files
committed
2024-08-29 - Added new fields period start/end date to front-end
1 parent 6e178fd commit 9c078b8

File tree

4 files changed

+58
-5
lines changed

4 files changed

+58
-5
lines changed

web-ui/src/components/reviews/TeamReviews.jsx

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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>

web-ui/src/components/reviews/periods/ReviewPeriodStepper.stories.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ const reviewPeriodStepperData = {
2525
launchDate: '2024-05-03T15:53:56.673Z',
2626
selfReviewCloseDate: '2024-05-03T15:53:56.673Z',
2727
closeDate: '2024-05-03T15:53:56.673Z',
28+
periodStartDate: '2024-04-01T00:00:00.000Z',
29+
periodEndDate: '2024-05-01T00:00:00.000Z',
2830
reviewTemplateId: 'd1e94b60-47c4-4945-87d1-4dc88f088e57',
2931
selfReviewTemplateId: 'd1e94b60-47c4-4945-87d1-4dc88f088e57'
3032
}

web-ui/src/components/reviews/periods/ReviewPeriodStepper.test.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ const reviewPeriod = {
99
launchDate: '2024-05-03T15:53:56.673Z',
1010
selfReviewCloseDate: '2024-05-03T15:53:56.673Z',
1111
closeDate: '2024-05-03T15:53:56.673Z',
12+
periodStartDate: '2024-04-01T00:00:00.000Z',
13+
periodEndDate: '2024-05-01T00:00:00.000Z',
1214
reviewTemplateId: 'd1e94b60-47c4-4945-87d1-4dc88f088e57',
1315
selfReviewTemplateId: 'd1e94b60-47c4-4945-87d1-4dc88f088e57'
1416
};

web-ui/src/components/reviews/periods/ReviewPeriods.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,9 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
109109
reviewStatus: ReviewStatus.PLANNING,
110110
launchDate: null,
111111
selfReviewCloseDate: null,
112-
closeDate: null
112+
closeDate: null,
113+
periodStartDate: null,
114+
periodEndDate: null
113115
});
114116
const [reviewStatus, setReviewStatus] = useState(ReviewStatus.CLOSED);
115117
const [selfReviews, setSelfReviews] = useState({});
@@ -178,7 +180,9 @@ const ReviewPeriods = ({ onPeriodSelected, mode }) => {
178180
reviewStatus: ReviewStatus.OPEN,
179181
launchDate: null,
180182
selfReviewCloseDate: null,
181-
closeDate: null
183+
closeDate: null,
184+
periodStartDate: null,
185+
periodEndDate: null
182186
});
183187
},
184188
[

0 commit comments

Comments
 (0)