misbar-dashboard/src/Pages/StaticInfo/useTableColumns.tsx
karimaldeen 20378c7d0c fix key
2024-09-11 12:33:33 +03:00

67 lines
1.8 KiB
TypeScript

import React, { useMemo } from "react";
import { useTranslation } from "react-i18next";
import Actions from "../../Components/Ui/tables/Actions";
import { useDeleteStaticInfo } from "../../api/StaticInfo";
import ColumnsImage from "../../Components/Columns/ColumnsImage";
function fnDelete(props: any) {}
const useTableColumns: any = () => {
const [t] = useTranslation();
const deleteMutation = useDeleteStaticInfo();
return useMemo(
() => [
{
name: t("key"),
sortable: false,
center: "true",
cell: (row: any) => row?.key,
},
{
name: t("value"),
sortable: false,
center: "true",
cell: (row: any) => {
if (row?.value_type === 'image') {
return <ColumnsImage src={row?.value} />;
} else if (typeof row?.value === 'string') {
const words = row.value.split(' ');
const firstTenWords = words.slice(0, 10).join(' ');
const result = words.length > 10 ? firstTenWords + '...' : firstTenWords;
return result;
} else {
return row.value;
}
},
},
{
name: t("value_type"),
sortable: false,
center: "true",
cell: (row: any) => row?.value_type,
},
{
name: "#",
sortable: false,
center: "true",
cell: (row) => (
<Actions
// importnat to return the row in on Edit Function to store in objectToEdit That Upper in Edit Modal
onEdit={() => row}
onView={() => {}}
objectToEdit={row}
showEdit={true}
showDelete={false}
showView={false}
onDelete={() => deleteMutation.mutate({ id: row.id })}
/>
),
},
],
[t]
);
};
export default useTableColumns;