CLEANUP Schedule modal now using redux. Deleted manual schedule modal. To be incorporated into generic.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user