import React, {useState} from "react"; import {useMutation, useQuery} from "@apollo/client"; import {Button, Table, Tbody, Td, Text, Th, Thead, Tr, useToast,} from "@chakra-ui/react"; import CustomEditModal from "./CustomEditModal"; import {deleteRecordByPrimaryKey, getSearchQuery,} from "../utils/GenericQueries"; import {Stack} from "@chakra-ui/layout"; import {getColumnsWithoutForeignkey, getSinglePrimaryKey,} from "../utils/CustomeTableUtils"; import {underScoreToCapitalize} from "../utils/TransformText"; function BabbuTable(props: any) { const toast = useToast(); const {isModal, title, tablename, col} = props; const searchQuery = getSearchQuery(tablename, col); const {loading, error, data, refetch} = useQuery(searchQuery); const [formdata, setFormData] = useState(null); //delete row const [deleteRow, {loading: deleteLoading}] = useMutation( deleteRecordByPrimaryKey(tablename, col) ); //modal const [isAddEdit, setIsAddEdit] = useState(false); const [isUpdate, setIsUpdate] = useState(false); const addRecord = () => { let item: any = {}; for (let i = 0; i < col.length; i++) { item[col[i].name] = ""; } setFormData(item); setIsUpdate(false); setIsAddEdit(true); }; const editRecord = (item: any) => { setFormData(item); setIsUpdate(true); setIsAddEdit(true); }; const deleteRecord = (item: any) => { if (deleteLoading) { return; } let primaryKey = getSinglePrimaryKey(col); let deleteObj = { [primaryKey]: item[primaryKey], }; let confirm = window.confirm("Are you sure?"); if (confirm) { deleteRow({ variables: deleteObj, }) .then((r) => { refetch(); }) .catch((e) => { console.log("error ", e); toast({ title: "Error", description: e.message, status: "error", duration: 9000, isClosable: true, }); }); } }; if (loading) { return
Loading...
; } if (error) { console.log("error ", error); return
Error...
; } if (data) return ( <> {isAddEdit == false ? ( {title} {/* {getColumnsWithoutForeignkey(col).map((item: any) => { return })} {data[`${tablename}`].map((item: any) => ( {getColumnsWithoutForeignkey(col).map((mycol: any) => { return })} ))}
{underScoreToCapitalize(item.name)}
editRecord(item)}>{item[mycol.name]} { deleteRecord(item) }} variant="outline" colorScheme="red.200" ml={2} size="xs" icon={} aria-label={'Delete'} />
*/} {getColumnsWithoutForeignkey(col).map((item: any) => { return ( ); })} {data[`${tablename}`].map((item: any) => ( {getColumnsWithoutForeignkey(col).map((mycol: any) => { return ( ); })} */} {/* { deleteRecord(item); }} variant="outline" colorScheme="red.200" ml={2} size="xs" icon={} aria-label={"Delete"} /> */} ))}
{underScoreToCapitalize(item.name)}
editRecord(item)} > {item[mycol.name]} {/*
) : ( setIsAddEdit(false)} refetch={() => { setIsAddEdit(false); refetch(); }} /> )} ); return
No Data
; } export default BabbuTable;