Skip to content

Commit

Permalink
removed unused actions
Browse files Browse the repository at this point in the history
  • Loading branch information
konavivekramakrishna committed Oct 17, 2023
1 parent 7767a1a commit 47daa24
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 113 deletions.
15 changes: 9 additions & 6 deletions src/Components/Resource/CommentSection.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import { useState } from "react";
import { useDispatch } from "react-redux";
import { addResourceComments } from "../../Redux/actions";
import * as Notification from "../../Utils/Notifications.js";
import { formatDateTime } from "../../Utils/utils";
import CircularProgress from "../Common/components/CircularProgress";
Expand All @@ -10,9 +8,9 @@ import useQuery from "../../Utils/request/useQuery";
import routes from "../../Redux/api";
import PaginatedList from "../../CAREUI/misc/PaginatedList";
import { IComment } from "./models";
import request from "../../Utils/request/request";

const CommentSection = (props: { id: string }) => {
const dispatch: any = useDispatch();
const [commentBox, setCommentBox] = useState("");
const offset = 0;
const limit = 8;
Expand All @@ -25,7 +23,7 @@ const CommentSection = (props: { id: string }) => {
}
);

const onSubmitComment = () => {
const onSubmitComment = async () => {
const payload = {
comment: commentBox,
};
Expand All @@ -35,10 +33,15 @@ const CommentSection = (props: { id: string }) => {
});
return;
}
dispatch(addResourceComments(props.id, payload)).then((_: any) => {

const { res, data } = await request(routes.addResourceComments, {
pathParams: { id: props.id },
body: payload,
});
if (res && data) {
Notification.Success({ msg: "Comment added successfully" });
resourceRefetch();
});
}
setCommentBox("");
};

Expand Down
43 changes: 18 additions & 25 deletions src/Components/Resource/ResourceCreate.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { useReducer, useState, useEffect, lazy } from "react";
/* eslint-disable react-hooks/rules-of-hooks */
import { useReducer, useState, lazy } from "react";

import { FacilitySelect } from "../Common/FacilitySelect";
import * as Notification from "../../Utils/Notifications.js";
import { useDispatch } from "react-redux";
import { navigate } from "raviger";
import {
OptionsType,
Expand All @@ -11,8 +11,6 @@ import {
} from "../../Common/constants";
import { parsePhoneNumber } from "../../Utils/utils";
import { phonePreg } from "../../Common/validation";

import { createResource, getAnyFacility } from "../../Redux/actions";
import { Cancel, Submit } from "../Common/components/ButtonV2";
import PhoneNumberFormField from "../Form/FormFields/PhoneNumberFormField";
import { FieldChangeEvent } from "../Form/FormFields/Utils";
Expand All @@ -26,6 +24,9 @@ import { FieldLabel } from "../Form/FormFields/FormField";
import Card from "../../CAREUI/display/Card";
import Page from "../Common/components/Page";
import { PhoneNumberValidator } from "../Form/FieldValidators";
import useQuery from "../../Utils/request/useQuery";
import routes from "../../Redux/api";
import request from "../../Utils/request/request";

const Loading = lazy(() => import("../Common/Loading"));

Expand Down Expand Up @@ -87,10 +88,7 @@ export default function ResourceCreate(props: resourceProps) {
const { goBack } = useAppHistory();
const { facilityId } = props;
const { t } = useTranslation();

const dispatchAction: any = useDispatch();
const [isLoading, setIsLoading] = useState(false);
const [facilityName, setFacilityName] = useState("");

const resourceFormReducer = (state = initialState, action: any) => {
switch (action.type) {
Expand All @@ -113,18 +111,11 @@ export default function ResourceCreate(props: resourceProps) {

const [state, dispatch] = useReducer(resourceFormReducer, initialState);

useEffect(() => {
async function fetchFacilityName() {
if (facilityId) {
const res = await dispatchAction(getAnyFacility(facilityId));

setFacilityName(res?.data?.name || "");
} else {
setFacilityName("");
}
}
fetchFacilityName();
}, [dispatchAction, facilityId]);
const { data: facilityData } = facilityId
? useQuery(routes.getAnyFacility, {
pathParams: { id: String(facilityId) },
})
: { data: null };

const validateForm = () => {
const errors = { ...initError };
Expand Down Expand Up @@ -184,11 +175,11 @@ export default function ResourceCreate(props: resourceProps) {
if (validForm) {
setIsLoading(true);

const data = {
const resourceData = {
status: "PENDING",
category: state.form.category,
sub_category: state.form.sub_category,
origin_facility: props.facilityId,
origin_facility: String(props.facilityId),
approving_facility: (state.form.approving_facility || {}).id,
assigned_facility: (state.form.assigned_facility || {}).id,
emergency: state.form.emergency === "true",
Expand All @@ -202,16 +193,18 @@ export default function ResourceCreate(props: resourceProps) {
requested_quantity: state.form.requested_quantity || 0,
};

const res = await dispatchAction(createResource(data));
const { res, data } = await request(routes.createResource, {
body: resourceData,
});
setIsLoading(false);

if (res && res.data && (res.status == 201 || res.status == 200)) {
if (res && data && (res.status == 201 || res.status == 200)) {
await dispatch({ type: "set_form", form: initForm });
Notification.Success({
msg: "Resource request created successfully",
});

navigate(`/resource/${res.data.id}`);
navigate(`/resource/${data.id}`);
}
}
};
Expand All @@ -224,7 +217,7 @@ export default function ResourceCreate(props: resourceProps) {
<Page
title={t("create_resource_request")}
crumbsReplacements={{
[facilityId]: { name: facilityName },
[facilityId]: { name: facilityData?.name || "" },
resource: { style: "pointer-events-none" },
}}
backUrl={`/facility/${facilityId}`}
Expand Down
93 changes: 33 additions & 60 deletions src/Components/Resource/ResourceDetailsUpdate.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
import * as Notification from "../../Utils/Notifications.js";

import { Cancel, Submit } from "../Common/components/ButtonV2";
import { lazy, useCallback, useEffect, useReducer, useState } from "react";
import {
getResourceDetails,
getUserList,
updateResource,
} from "../../Redux/actions";
import { lazy, useReducer, useState } from "react";
import { navigate, useQueryParams } from "raviger";
import { statusType, useAbortableEffect } from "../../Common/utils";

import Card from "../../CAREUI/display/Card";
import CircularProgress from "../Common/components/CircularProgress";
Expand All @@ -24,7 +18,10 @@ import TextFormField from "../Form/FormFields/TextFormField";
import UserAutocompleteFormField from "../Common/UserAutocompleteFormField";

import useAppHistory from "../../Common/hooks/useAppHistory";
import { useDispatch } from "react-redux";
import useQuery from "../../Utils/request/useQuery.js";
import routes from "../../Redux/api.js";
import { UserModel } from "../Users/models.js";
import request from "../../Utils/request/request.js";

const Loading = lazy(() => import("../Common/Loading"));

Expand Down Expand Up @@ -67,13 +64,9 @@ const initialState = {

export const ResourceDetailsUpdate = (props: resourceProps) => {
const { goBack } = useAppHistory();
const dispatchAction: any = useDispatch();
const [qParams, _] = useQueryParams();
const [isLoading, setIsLoading] = useState(true);
const [assignedQuantity, setAssignedQuantity] = useState(0);
const [requestTitle, setRequestTitle] = useState("");
const [assignedUser, SetAssignedUser] = useState(null);
const [assignedUserLoading, setAssignedUserLoading] = useState(false);
const [assignedUser, SetAssignedUser] = useState<UserModel>();
const resourceFormReducer = (state = initialState, action: any) => {
switch (action.type) {
case "set_form": {
Expand All @@ -95,23 +88,13 @@ export const ResourceDetailsUpdate = (props: resourceProps) => {

const [state, dispatch] = useReducer(resourceFormReducer, initialState);

useEffect(() => {
async function fetchData() {
if (state.form.assigned_to) {
setAssignedUserLoading(true);

const res = await dispatchAction(
getUserList({ id: state.form.assigned_to })
);

if (res && res.data && res.data.count)
SetAssignedUser(res.data.results[0]);

setAssignedUserLoading(false);
const { loading: assignedUserLoading } = useQuery(routes.userList, {
onResponse: ({ res, data }) => {
if (res && data && data.count) {
SetAssignedUser(data.results[0]);
}
}
fetchData();
}, [dispatchAction, state.form.assigned_to]);
},
});

const validateForm = () => {
const errors = { ...initError };
Expand Down Expand Up @@ -147,13 +130,25 @@ export const ResourceDetailsUpdate = (props: resourceProps) => {
dispatch({ type: "set_form", form });
};

const { data: resourceDetailsData } = useQuery(routes.getResourceDetails, {
pathParams: { id: props.id },
onResponse: ({ res, data }) => {
if (res && data) {
const d = data;
d["status"] = qParams.status || data.status;
dispatch({ type: "set_form", form: d });
}
setIsLoading(false);
},
});

const handleSubmit = async () => {
const validForm = validateForm();

if (validForm) {
setIsLoading(true);

const data = {
const resourceData = {
category: "OXYGEN",
status: state.form.status,
origin_facility: state.form.origin_facility_object?.id,
Expand All @@ -167,14 +162,17 @@ export const ResourceDetailsUpdate = (props: resourceProps) => {
assigned_quantity:
state.form.status === "PENDING"
? state.form.assigned_quantity
: assignedQuantity,
: resourceDetailsData?.assigned_quantity || 0,
};

const res = await dispatchAction(updateResource(props.id, data));
const { res, data } = await request(routes.updateResource, {
pathParams: { id: props.id },
body: resourceData,
});
setIsLoading(false);

if (res && res.status == 200 && res.data) {
dispatch({ type: "set_form", form: res.data });
if (res && res.status == 200 && data) {
dispatch({ type: "set_form", form: data });
Notification.Success({
msg: "Resource request updated successfully",
});
Expand All @@ -186,31 +184,6 @@ export const ResourceDetailsUpdate = (props: resourceProps) => {
}
};

const fetchData = useCallback(
async (status: statusType) => {
setIsLoading(true);
const res = await dispatchAction(getResourceDetails({ id: props.id }));
if (!status.aborted) {
if (res && res.data) {
setRequestTitle(res.data.title);
setAssignedQuantity(res.data.assigned_quantity);
const d = res.data;
d["status"] = qParams.status || res.data.status;
dispatch({ type: "set_form", form: d });
}
setIsLoading(false);
}
},
[props.id, dispatchAction, qParams.status]
);

useAbortableEffect(
(status: statusType) => {
fetchData(status);
},
[fetchData]
);

if (isLoading) {
return <Loading />;
}
Expand All @@ -219,7 +192,7 @@ export const ResourceDetailsUpdate = (props: resourceProps) => {
<Page
title="Update Resource Request"
backUrl={`/resource/${props.id}`}
crumbsReplacements={{ [props.id]: { name: requestTitle } }}
crumbsReplacements={{ [props.id]: { name: resourceDetailsData?.title } }}
>
<div className="mt-4">
<Card className="flex w-full flex-col">
Expand Down
21 changes: 0 additions & 21 deletions src/Redux/actions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -805,30 +805,9 @@ export const listMedibaseMedicines = (
};

// Resource
export const createResource = (params: object) => {
return fireRequest("createResource", [], params);
};
export const updateResource = (id: string, params: object) => {
return fireRequest("updateResource", [id], params);
};
export const deleteResourceRecord = (id: string) => {
return fireRequest("deleteResourceRecord", [id], {});
};
export const listResourceRequests = (params: object, key: string) => {
return fireRequest("listResourceRequests", [], params, null, key);
};
export const getResourceDetails = (pathParam: object) => {
return fireRequest("getResourceDetails", [], {}, pathParam);
};
export const downloadResourceRequests = (params: object) => {
return fireRequest("downloadResourceRequests", [], params);
};
export const getResourceComments = (id: string, params: object) => {
return fireRequest("getResourceComments", [], params, { id });
};
export const addResourceComments = (id: string, params: object) => {
return fireRequest("addResourceComments", [], params, { id });
};

export const listAssets = (params: object) =>
fireRequest("listAssets", [], params);
Expand Down
10 changes: 9 additions & 1 deletion src/Redux/api.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ const routes = {

userList: {
path: "/api/v1/users/",
method: "GET",
TRes: Type<PaginatedResponse<UserModel>>(),
},

userListSkill: {
Expand Down Expand Up @@ -803,10 +805,14 @@ const routes = {
createResource: {
path: "/api/v1/resource/",
method: "POST",
TRes: Type<IResource>(),
TBody: Type<Partial<IResource>>(),
},
updateResource: {
path: "/api/v1/resource",
path: "/api/v1/resource/{id}",
method: "PUT",
TRes: Type<IResource>(),
TBody: Type<Partial<IResource>>(),
},
deleteResourceRecord: {
path: "/api/v1/resource/{id}",
Expand Down Expand Up @@ -837,6 +843,8 @@ const routes = {
addResourceComments: {
path: "/api/v1/resource/{id}/comment/",
method: "POST",
TRes: Type<IComment>(),
TBody: Type<Partial<IComment>>(),
},

// Assets endpoints
Expand Down

0 comments on commit 47daa24

Please sign in to comment.