From ef4d6de1fe1c9f109f6f99f35c1de716002d1c65 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Mon, 10 May 2021 15:55:33 -0700 Subject: [PATCH] IO-1055 Blocked Day improvements. --- .../schedule-event.component.jsx | 11 ++++++- .../schedule-event.container.jsx | 33 ++++++++++--------- .../schedule-block-day.component.jsx | 14 ++++++-- .../schedule-calendar-header.component.js | 18 +++++++--- .../scheduler-calendar-wrapper.component.jsx | 4 ++- 5 files changed, 56 insertions(+), 24 deletions(-) diff --git a/client/src/components/job-at-change/schedule-event.component.jsx b/client/src/components/job-at-change/schedule-event.component.jsx index d4585e88f..a36cc5b03 100644 --- a/client/src/components/job-at-change/schedule-event.component.jsx +++ b/client/src/components/job-at-change/schedule-event.component.jsx @@ -24,6 +24,15 @@ export function ScheduleEventComponent({ }) { const { t } = useTranslation(); const [visible, setVisible] = useState(false); + + const blockContent = ( +
+ +
+ ); + const popoverContent = (
{!event.isintake ? ( @@ -167,7 +176,7 @@ export function ScheduleEventComponent({ visible={visible} onVisibleChange={(vis) => setVisible(vis)} trigger="click" - content={popoverContent} + content={event.block ? blockContent : popoverContent} style={{ height: "100%", width: "100%" }} > {RegularEvent} diff --git a/client/src/components/job-at-change/schedule-event.container.jsx b/client/src/components/job-at-change/schedule-event.container.jsx index bd5943cbb..75c2c1fdf 100644 --- a/client/src/components/job-at-change/schedule-event.container.jsx +++ b/client/src/components/job-at-change/schedule-event.container.jsx @@ -30,26 +30,27 @@ export default function ScheduleEventContainer({ bodyshop, event, refetch }) { return; } - const jobUpdate = await updateJob({ - variables: { - jobId: event.job.id, + if (event.job) { + const jobUpdate = await updateJob({ + variables: { + jobId: event.job.id, - job: { - date_scheduled: null, - scheduled_in: null, - status: bodyshop.md_ro_statuses.default_imported, + job: { + date_scheduled: null, + scheduled_in: null, + status: bodyshop.md_ro_statuses.default_imported, + }, }, - }, - }); - if (!!jobUpdate.errors) { - notification["error"]({ - message: t("jobs.errors.updating", { - message: JSON.stringify(jobUpdate.errors), - }), }); - return; + if (!!jobUpdate.errors) { + notification["error"]({ + message: t("jobs.errors.updating", { + message: JSON.stringify(jobUpdate.errors), + }), + }); + return; + } } - if (refetch) refetch(); }; diff --git a/client/src/components/schedule-block-day/schedule-block-day.component.jsx b/client/src/components/schedule-block-day/schedule-block-day.component.jsx index 69ec8324f..548da1f9f 100644 --- a/client/src/components/schedule-block-day/schedule-block-day.component.jsx +++ b/client/src/components/schedule-block-day/schedule-block-day.component.jsx @@ -15,7 +15,13 @@ const mapStateToProps = createStructuredSelector({ const mapDispatchToProps = (dispatch) => ({}); -export function ScheduleBlockDay({ date, children, refetch, bodyshop }) { +export function ScheduleBlockDay({ + date, + children, + refetch, + bodyshop, + alreadyBlocked, +}) { const { t } = useTranslation(); const [insertBlock] = useMutation(INSERT_APPOINTMENT_BLOCK); @@ -56,7 +62,11 @@ export function ScheduleBlockDay({ date, children, refetch, bodyshop }) { ); return ( - + {children} ); diff --git a/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js b/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js index 783d60b9a..02aed08fb 100644 --- a/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js +++ b/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js @@ -43,6 +43,12 @@ export function ScheduleCalendarHeaderComponent({ ); }, [events, date]); + const isDayBlocked = useMemo(() => { + return events.filter( + (e) => moment(date).isSame(moment(e.start), "day") && e.block + ); + }, [events, date]); + const { t } = useTranslation(); const loadData = load[date.toISOString().substr(0, 10)]; @@ -136,9 +142,9 @@ export function ScheduleCalendarHeaderComponent({
    {Object.keys(ATSToday).map((key, idx) => ( -
  • {`${key === "null" ? "N/A" : key}: ${ - ATSToday[key].length - }`}
  • +
  • {`${ + key === "null" || key === "undefined" ? "N/A" : key + }: ${ATSToday[key].length}`}
  • ))}
@@ -179,7 +185,11 @@ export function ScheduleCalendarHeaderComponent({ return (
- + 0} + date={date} + refetch={refetch} + >
{label} {calculating ? : LoadComponent} diff --git a/client/src/components/schedule-calendar-wrapper/scheduler-calendar-wrapper.component.jsx b/client/src/components/schedule-calendar-wrapper/scheduler-calendar-wrapper.component.jsx index 669fbb345..6e0d6c83d 100644 --- a/client/src/components/schedule-calendar-wrapper/scheduler-calendar-wrapper.component.jsx +++ b/client/src/components/schedule-calendar-wrapper/scheduler-calendar-wrapper.component.jsx @@ -78,7 +78,9 @@ export function ScheduleCalendarWrapperComponent({ components={{ event: (e) => Event({ bodyshop: bodyshop, event: e.event, refetch: refetch }), - header: (p) => , + header: (p) => ( + + ), }} {...otherProps} />