BOD-84 Added base calculations for schedule load

This commit is contained in:
Patrick Fic
2020-05-08 15:33:08 -07:00
parent 3d74a4106e
commit 6096fce7a6
17 changed files with 456 additions and 122 deletions

View File

@@ -1,13 +1,33 @@
import { useQuery } from "@apollo/react-hooks";
import queryString from "query-string";
import React from "react";
import { useLocation } from "react-router-dom";
import { QUERY_ALL_ACTIVE_APPOINTMENTS } from "../../graphql/appointments.queries";
import AlertComponent from "../alert/alert.component";
import LoadingSpinner from "../loading-spinner/loading-spinner.component";
import { getRange } from "../schedule-calendar-wrapper/schedule-calendar-util";
import ScheduleCalendarComponent from "./schedule-calendar.component";
import { calculateScheduleLoad } from "../../redux/application/application.actions";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
const mapStateToProps = createStructuredSelector({
//currentUser: selectCurrentUser
});
const mapDispatchToProps = (dispatch) => ({
calculateScheduleLoad: (endDate) => dispatch(calculateScheduleLoad(endDate)),
});
export default function ScheduleCalendarContainer() {
export function ScheduleCalendarContainer({ calculateScheduleLoad }) {
const search = queryString.parse(useLocation().search);
const { date, view } = search;
const range = getRange(date, view);
const { loading, error, data, refetch } = useQuery(
QUERY_ALL_ACTIVE_APPOINTMENTS
QUERY_ALL_ACTIVE_APPOINTMENTS,
{
variables: { start: range.start.toDate(), end: range.end.toDate() },
skip: !!!range.start || !!!range.end,
}
);
if (loading) return <LoadingSpinner />;
@@ -22,10 +42,32 @@ export default function ScheduleCalendarContainer() {
);
});
console.log("ScheduleCalendarContainer -> normalizedData", normalizedData);
normalizedData.push({
id: 1,
title: "All day event",
allDay: true,
isintake: false,
start: new Date(),
end: new Date(),
});
return (
<ScheduleCalendarComponent
refetch={refetch}
data={data ? normalizedData : null}
/>
<span>
<button
onClick={() => {
calculateScheduleLoad(range.end);
}}
>
Calc Load
</button>
<ScheduleCalendarComponent
refetch={refetch}
data={data ? normalizedData : null}
/>
</span>
);
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(ScheduleCalendarContainer);