mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
feat(web): add licenses column
This commit is contained in:
parent
6b76ce5e50
commit
a6da2b44a1
2 changed files with 22 additions and 4 deletions
|
|
@ -1,13 +1,24 @@
|
|||
"use client";
|
||||
|
||||
import { FilterList } from "@/services/get-filterlists";
|
||||
import { createColumnHelper } from "@tanstack/react-table";
|
||||
import { FilterListsTableMeta } from ".";
|
||||
|
||||
const columnHelper = createColumnHelper<FilterList>();
|
||||
|
||||
export const columns = [
|
||||
columnHelper.accessor("name", {
|
||||
columnHelper.accessor((row) => row.name, {
|
||||
header: "Name",
|
||||
}),
|
||||
columnHelper.accessor("description", {
|
||||
columnHelper.accessor((row) => row.description, {
|
||||
header: "Description",
|
||||
}),
|
||||
columnHelper.accessor((row) => row.licenseId, {
|
||||
header: "License",
|
||||
cell: (info) => {
|
||||
const meta = info.table.options.meta as FilterListsTableMeta;
|
||||
const license = meta.licenses.find((l) => l.id === info.getValue());
|
||||
return license?.name;
|
||||
},
|
||||
}),
|
||||
];
|
||||
|
|
|
|||
|
|
@ -6,8 +6,9 @@ import {
|
|||
getCoreRowModel,
|
||||
getPaginationRowModel,
|
||||
flexRender,
|
||||
AccessorKeyColumnDef,
|
||||
TableMeta,
|
||||
} from "@tanstack/react-table";
|
||||
import { columns } from "./columns";
|
||||
import {
|
||||
Table,
|
||||
TableBody,
|
||||
|
|
@ -27,8 +28,12 @@ import { Software } from "@/services/get-software";
|
|||
import { Syntax } from "@/services/get-syntaxes";
|
||||
import { Tag } from "@/services/get-tags";
|
||||
|
||||
export interface FilterListsTableMeta extends TableMeta<FilterList> {
|
||||
licenses: License[];
|
||||
}
|
||||
|
||||
interface FilterListTableProps {
|
||||
columns: AccessorKeyColumnDef<FilterList, string>[];
|
||||
columns: typeof columns;
|
||||
initialFilterLists: FilterList[];
|
||||
languages: Language[];
|
||||
licenses: License[];
|
||||
|
|
@ -41,6 +46,7 @@ interface FilterListTableProps {
|
|||
export function FilterListTable({
|
||||
columns,
|
||||
initialFilterLists,
|
||||
licenses,
|
||||
}: FilterListTableProps) {
|
||||
const [data, setData] = useState<FilterList[]>(initialFilterLists);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
|
@ -61,6 +67,7 @@ export function FilterListTable({
|
|||
columns,
|
||||
getCoreRowModel: getCoreRowModel(),
|
||||
getPaginationRowModel: getPaginationRowModel(),
|
||||
meta: { licenses: licenses } as FilterListsTableMeta,
|
||||
});
|
||||
|
||||
return (
|
||||
|
|
|
|||
Loading…
Reference in a new issue