Added custom runner filter

This commit is contained in:
Nicolai Ort 2023-04-12 20:32:24 +02:00
parent 9c13b2f9e9
commit 7c6d39b5fa
Signed by: niggl
GPG Key ID: 13AFA55AF62F269F
2 changed files with 20 additions and 2 deletions

View File

@ -23,6 +23,7 @@
import CardStatus from "./CardStatus.svelte"; import CardStatus from "./CardStatus.svelte";
import CardRunner from "./CardRunner.svelte"; import CardRunner from "./CardRunner.svelte";
import { onMount } from "svelte"; import { onMount } from "svelte";
import { runnerFilter } from "../shared/tablefilters";
export let edit_modal_open = false; export let edit_modal_open = false;
export let runner = {}; export let runner = {};
@ -47,11 +48,11 @@
}, },
{ {
accessorKey: "runner", accessorKey: "runner",
header: () => $_("name"), header: () => $_("runner"),
cell: (info) => { cell: (info) => {
return renderComponent(CardRunner, { runner: info.getValue() }); return renderComponent(CardRunner, { runner: info.getValue() });
}, },
filterFn: `includesString`, filterFn: `runner`,
}, },
{ {
accessorKey: "enabled", accessorKey: "enabled",
@ -96,6 +97,9 @@
pageSize: 50, pageSize: 50,
}, },
}, },
filterFns: {
runner: runnerFilter,
},
enableRowSelection: true, enableRowSelection: true,
getCoreRowModel: getCoreRowModel(), getCoreRowModel: getCoreRowModel(),
getFilteredRowModel: getFilteredRowModel(), getFilteredRowModel: getFilteredRowModel(),

View File

@ -12,4 +12,18 @@ export const groupFilter = (row, columnId, value) => {
group.parentGroup.name.toLowerCase().includes(value.toLowerCase()) 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())
}; };