CLEANUP Schedule modal now using redux. Deleted manual schedule modal. To be incorporated into generic.

This commit is contained in:
Patrick Fic
2020-04-02 12:37:15 -07:00
parent 828ca721db
commit 7254622f52
12 changed files with 177 additions and 322 deletions

View File

@@ -1,15 +1,23 @@
import { SyncOutlined } from "@ant-design/icons";
import { Button } from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { setModalContext } from "../../redux/modals/modals.actions";
//import "react-big-calendar/lib/css/react-big-calendar.css";
import ScheduleCalendarWrapperComponent from "../schedule-calendar-wrapper/scheduler-calendar-wrapper.component";
import { Button } from "antd";
import { SyncOutlined } from "@ant-design/icons";
import { useTranslation } from "react-i18next";
import ScheduleAppointmentModalContainer from "../schedule-appointment-modal/schedule-appointment-modal.container";
import ScheduleModal from "../schedule-job-modal/schedule-job-modal.container";
export default function ScheduleCalendarComponent({
const mapDispatchToProps = dispatch => ({
setScheduleContext: context =>
dispatch(setModalContext({ context: context, modal: "schedule" }))
});
export function ScheduleCalendarComponent({
data,
refetch,
scheduleModalState
setScheduleContext
}) {
const { t } = useTranslation();
@@ -25,17 +33,18 @@ export default function ScheduleCalendarComponent({
<Button
onClick={() => {
scheduleModalState[1](true);
setScheduleContext({
actions: { refetch: refetch },
context: {
jobId: null
}
});
}}
>
{t("appointments.actions.new")}
</Button>
<ScheduleAppointmentModalContainer
scheduleModalState={scheduleModalState}
jobId={null}
refetch={refetch}
/>
<ScheduleModal />
<ScheduleCalendarWrapperComponent
data={data}
@@ -45,3 +54,4 @@ export default function ScheduleCalendarComponent({
</div>
);
}
export default connect(null, mapDispatchToProps)(ScheduleCalendarComponent);

View File

@@ -1,18 +1,14 @@
import React, { useState } from "react";
import { useQuery } from "@apollo/react-hooks";
import ScheduleCalendarComponent from "./schedule-calendar.component";
import React from "react";
import { QUERY_ALL_ACTIVE_APPOINTMENTS } from "../../graphql/appointments.queries";
import LoadingSpinner from "../loading-spinner/loading-spinner.component";
import AlertComponent from "../alert/alert.component";
import LoadingSpinner from "../loading-spinner/loading-spinner.component";
import ScheduleCalendarComponent from "./schedule-calendar.component";
export default function ScheduleCalendarContainer() {
const { loading, error, data, refetch } = useQuery(
QUERY_ALL_ACTIVE_APPOINTMENTS,
{
fetchPolicy: "network-only"
}
QUERY_ALL_ACTIVE_APPOINTMENTS
);
const scheduleModalState = useState(false);
if (loading) return <LoadingSpinner />;
if (error) return <AlertComponent message={error.message} type="error" />;
@@ -28,7 +24,6 @@ export default function ScheduleCalendarContainer() {
return (
<ScheduleCalendarComponent
scheduleModalState={scheduleModalState}
refetch={refetch}
data={data ? normalizedData : null}
/>