diff --git a/src/components/cards/CardsOverview.svelte b/src/components/cards/CardsOverview.svelte index f3832ff2..eef30384 100644 --- a/src/components/cards/CardsOverview.svelte +++ b/src/components/cards/CardsOverview.svelte @@ -23,6 +23,7 @@ import CardStatus from "./CardStatus.svelte"; import CardRunner from "./CardRunner.svelte"; import { onMount } from "svelte"; + import { runnerFilter } from "../shared/tablefilters"; export let edit_modal_open = false; export let runner = {}; @@ -47,11 +48,11 @@ }, { accessorKey: "runner", - header: () => $_("name"), + header: () => $_("runner"), cell: (info) => { return renderComponent(CardRunner, { runner: info.getValue() }); }, - filterFn: `includesString`, + filterFn: `runner`, }, { accessorKey: "enabled", @@ -96,6 +97,9 @@ pageSize: 50, }, }, + filterFns: { + runner: runnerFilter, + }, enableRowSelection: true, getCoreRowModel: getCoreRowModel(), getFilteredRowModel: getFilteredRowModel(), diff --git a/src/components/shared/tablefilters.js b/src/components/shared/tablefilters.js index 504237e1..3cf65a88 100644 --- a/src/components/shared/tablefilters.js +++ b/src/components/shared/tablefilters.js @@ -12,4 +12,18 @@ export const groupFilter = (row, columnId, value) => { group.parentGroup.name.toLowerCase().includes(value.toLowerCase()) ); } +}; +export const runnerFilter = (row, columnId, value) => { + const runner = row.getValue(columnId); + if(!runner && value == "blanko"){return true} + if(!runner){return false} + + if(value.startsWith("#")){ + return runner.id == value.replace("#","") + } + + if(runner.middlename){ + return `${runner.firstname} ${runner.middlename} ${runner.lastname}`.toLowerCase().includes(value.toLowerCase()) + } + return `${runner.firstname} ${runner.lastname}`.toLowerCase().includes(value.toLowerCase()) }; \ No newline at end of file