import { aspectQueryOptions } from "@/modules/aspectManagement/queries/aspectQueries"; import PageTemplate from "@/components/PageTemplate"; import { createLazyFileRoute } from "@tanstack/react-router"; import AspectFormModal from "@/modules/aspectManagement/modals/AspectFormModal"; import ExtractQueryDataType from "@/types/ExtractQueryDataType"; import { createColumnHelper } from "@tanstack/react-table"; import { Flex } from "@mantine/core"; import createActionButtons from "@/utils/createActionButton"; import { TbEye, TbPencil, TbTrash } from "react-icons/tb"; import AspectDeleteModal from "@/modules/aspectManagement/modals/AspectDeleteModal"; export const Route = createLazyFileRoute("/_dashboardLayout/aspect/")({ component: AspectPage, }); type DataType = ExtractQueryDataType; const columnHelper = createColumnHelper(); export default function AspectPage() { return ( , ]} columnDefs={[ // Number of columns columnHelper.display({ header: "#", cell: (props) => props.row.index + 1, }), // Aspect columns columnHelper.display({ header: "Nama Aspek", cell: (props) => props.row.original.name || "Tidak ada Aspek", }), // Sub aspect columns columnHelper.display({ header: "Sub Aspek", cell: (props) => { const subAspects = props.row.original.subAspects || []; return subAspects.length > 0 ? ( {subAspects.map((subAspect, index) => ( {subAspect.name} {index < subAspects.length - 1 ? ", " : ""} ))} ) : ( Tidak ada Sub Aspek ); }, }), // Actions columns columnHelper.display({ header: "Aksi", cell: (props) => ( {createActionButtons([ { label: "Detail", permission: true, action: `?detail=${props.row.original.id}`, color: "green", icon: , }, { label: "Edit", permission: true, action: `?edit=${props.row.original.id}`, color: "orange", icon: , }, { label: "Hapus", permission: true, action: `?delete=${props.row.original.id}`, color: "red", icon: , }, ])} ), }), ]} /> ); }