2024-07-26 12:10:47 +05:30
|
|
|
import { ChevronDownIcon } from "@chakra-ui/icons";
|
|
|
|
|
import React, { useState } from "react";
|
2024-07-08 20:14:34 +05:30
|
|
|
import {
|
2024-07-26 12:10:47 +05:30
|
|
|
Badge,
|
2024-07-08 20:14:34 +05:30
|
|
|
Button,
|
2024-07-09 19:05:08 +05:30
|
|
|
FormLabel,
|
2024-07-26 12:10:47 +05:30
|
|
|
Menu,
|
|
|
|
|
MenuButton,
|
|
|
|
|
MenuItem,
|
|
|
|
|
MenuList,
|
2024-07-08 20:14:34 +05:30
|
|
|
Modal,
|
|
|
|
|
ModalBody,
|
|
|
|
|
ModalCloseButton,
|
|
|
|
|
ModalContent,
|
|
|
|
|
ModalFooter,
|
|
|
|
|
ModalHeader,
|
|
|
|
|
ModalOverlay,
|
|
|
|
|
} from "@chakra-ui/react";
|
2024-07-26 12:10:47 +05:30
|
|
|
import {
|
|
|
|
|
useGetIOprepopulateDataQuery,
|
|
|
|
|
useUpdateStatusIoMutation,
|
|
|
|
|
} from "../../../../Services/io.service";
|
|
|
|
|
import { useParams } from "react-router-dom";
|
2024-07-08 20:14:34 +05:30
|
|
|
|
|
|
|
|
const UpdateIOStatus = ({ isOpen, onClose }) => {
|
2024-07-26 12:10:47 +05:30
|
|
|
const params = useParams();
|
|
|
|
|
const id = params?.id;
|
|
|
|
|
const [selectedItem, setSelectedItem] = useState("Open");
|
|
|
|
|
const [isLoadingg, setIsLoading] = useState(false);
|
|
|
|
|
const { data, error, isLoading } = useGetIOprepopulateDataQuery();
|
|
|
|
|
const [selectedStatusId, setSelectedStatusId] = useState(data?.data?.ioStatus[0]?.id);
|
|
|
|
|
|
|
|
|
|
const [updateStatusIo] = useUpdateStatusIoMutation();
|
|
|
|
|
console.log(data?.data?.ioStatus);
|
|
|
|
|
|
|
|
|
|
console.log(data?.data?.ioStatus);
|
|
|
|
|
|
|
|
|
|
const handleMenuItemClick = (item, id) => {
|
|
|
|
|
setSelectedItem(item);
|
|
|
|
|
setSelectedStatusId(id);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const handleSubmit = async () => {
|
|
|
|
|
setIsLoading(true)
|
|
|
|
|
try {
|
|
|
|
|
const res = await updateStatusIo({
|
|
|
|
|
data: {
|
|
|
|
|
ioStatus_xid: selectedStatusId,
|
|
|
|
|
},
|
|
|
|
|
id,
|
|
|
|
|
});
|
|
|
|
|
console.log(res);
|
|
|
|
|
setIsLoading(false)
|
|
|
|
|
onClose()
|
|
|
|
|
} catch (error) {}
|
|
|
|
|
};
|
|
|
|
|
|
2024-07-08 20:14:34 +05:30
|
|
|
return (
|
|
|
|
|
<Modal isOpen={isOpen} onClose={onClose}>
|
|
|
|
|
<ModalOverlay />
|
|
|
|
|
<ModalContent>
|
2024-07-26 12:10:47 +05:30
|
|
|
<ModalHeader fontSize={"md"}>Update IO Status Transaction</ModalHeader>
|
2024-07-08 20:14:34 +05:30
|
|
|
<ModalCloseButton />
|
|
|
|
|
<ModalBody>
|
2024-07-26 12:10:47 +05:30
|
|
|
<FormLabel as={"label"} fontSize={"sm"} fontWeight={500}>
|
|
|
|
|
Status
|
|
|
|
|
</FormLabel>
|
|
|
|
|
<Menu>
|
|
|
|
|
<MenuButton
|
|
|
|
|
as={Button}
|
|
|
|
|
rightIcon={<ChevronDownIcon />}
|
2024-07-08 20:14:34 +05:30
|
|
|
fontSize={"sm"}
|
2024-07-26 12:10:47 +05:30
|
|
|
fontWeight={500}
|
|
|
|
|
w={"100%"}
|
|
|
|
|
textAlign={"left"}
|
|
|
|
|
>
|
|
|
|
|
{selectedItem}
|
|
|
|
|
</MenuButton>
|
|
|
|
|
<MenuList w={"400px"}>
|
|
|
|
|
{data?.data?.ioStatus?.map(({ id, statusAdmin }) => (
|
|
|
|
|
<MenuItem
|
|
|
|
|
key={id}
|
|
|
|
|
fontSize={"sm"}
|
|
|
|
|
onClick={() => handleMenuItemClick(statusAdmin, id)}
|
|
|
|
|
>
|
|
|
|
|
<Badge py={"1px"} px={"8px"}>
|
|
|
|
|
{statusAdmin}
|
|
|
|
|
</Badge>
|
|
|
|
|
</MenuItem>
|
|
|
|
|
))}
|
|
|
|
|
</MenuList>
|
|
|
|
|
</Menu>
|
2024-07-08 20:14:34 +05:30
|
|
|
</ModalBody>
|
|
|
|
|
<ModalFooter>
|
|
|
|
|
<Button
|
|
|
|
|
bg={"hsla(139, 100%, 14%, 1)"}
|
|
|
|
|
mr={3}
|
|
|
|
|
color={"#fff"}
|
|
|
|
|
_hover={{
|
|
|
|
|
bg: "hsl(139deg 98.99% 26.59%)",
|
|
|
|
|
}}
|
2024-07-26 12:10:47 +05:30
|
|
|
size={"sm"}
|
2024-07-09 19:05:08 +05:30
|
|
|
rounded={"sm"}
|
2024-07-26 12:10:47 +05:30
|
|
|
onClick={handleSubmit}
|
|
|
|
|
isLoading={isLoadingg}
|
2024-07-08 20:14:34 +05:30
|
|
|
>
|
|
|
|
|
Save
|
|
|
|
|
</Button>
|
2024-07-26 12:10:47 +05:30
|
|
|
<Button size={"sm"} rounded={"sm"} mr={3} onClick={onClose}>
|
2024-07-08 20:14:34 +05:30
|
|
|
Close
|
|
|
|
|
</Button>
|
|
|
|
|
</ModalFooter>
|
|
|
|
|
</ModalContent>
|
|
|
|
|
</Modal>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default UpdateIOStatus;
|