From 3a3e2f71575d3a0e39a5e13b05cff932b8683ac9 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 15 Mar 2023 11:10:08 +0100 Subject: [PATCH 1/3] add ThFilterRunner ref #159 --- src/components/cards/CardsOverview.svelte | 3 +- src/components/cards/ThFilterRunner.svelte | 62 ++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/components/cards/ThFilterRunner.svelte diff --git a/src/components/cards/CardsOverview.svelte b/src/components/cards/CardsOverview.svelte index 801c8ea0..82290715 100644 --- a/src/components/cards/CardsOverview.svelte +++ b/src/components/cards/CardsOverview.svelte @@ -8,6 +8,7 @@ import CardDetailModal from "./CardDetailModal.svelte"; import GenerateRunnerCards from "../pdf_generation/GenerateRunnerCards.svelte"; import ThFilterStatus from "./ThFilterStatus.svelte"; + import ThFilterRunner from "./ThFilterRunner.svelte"; export let edit_modal_open = false; export let runner = {}; export let editable = {}; @@ -100,7 +101,7 @@ - + diff --git a/src/components/cards/ThFilterRunner.svelte b/src/components/cards/ThFilterRunner.svelte new file mode 100644 index 00000000..52b8ddce --- /dev/null +++ b/src/components/cards/ThFilterRunner.svelte @@ -0,0 +1,62 @@ + + + + { + setTimeout(() => { + const v = filterValue.toLowerCase(); + handler.filter(v, (c) => { + if (v === "") { + return c; + } + if (c.runner) { + if (v.startsWith("#")) { + const id = parseInt(v.replace("#", "")); + // console.log({ id, r: c.runner.id }); + if (c.runner.id === id) { + console.log(c); + return c; + } + } else { + let runnerName = `${c.runner.firstname} ${c.runner.lastname}`; + if (c.runner.middlename) { + runnerName = `${c.runner.firstname} ${c.runner.middlename} ${c.runner.lastname}`; + } + runnerName = runnerName.toLowerCase(); + if (runnerName.includes(v)) { + console.log({ filterValue, runnerName }); + // console.log(c); + return c; + } + } + } + return ""; + }); + }, 150); + }} + bind:value={filterValue} + type="text" + name="filter__runner" + id="filter__runner" + /> + + + -- 2.47.2 From b869b5fd2a01955fb21f936fa38eb5a9648e7de3 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 15 Mar 2023 11:39:51 +0100 Subject: [PATCH 2/3] remodelled for early return ref #159 --- src/components/cards/ThFilterRunner.svelte | 36 ++++++++++------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/components/cards/ThFilterRunner.svelte b/src/components/cards/ThFilterRunner.svelte index 52b8ddce..9222616c 100644 --- a/src/components/cards/ThFilterRunner.svelte +++ b/src/components/cards/ThFilterRunner.svelte @@ -12,25 +12,23 @@ if (v === "") { return c; } - if (c.runner) { - if (v.startsWith("#")) { - const id = parseInt(v.replace("#", "")); - // console.log({ id, r: c.runner.id }); - if (c.runner.id === id) { - console.log(c); - return c; - } - } else { - let runnerName = `${c.runner.firstname} ${c.runner.lastname}`; - if (c.runner.middlename) { - runnerName = `${c.runner.firstname} ${c.runner.middlename} ${c.runner.lastname}`; - } - runnerName = runnerName.toLowerCase(); - if (runnerName.includes(v)) { - console.log({ filterValue, runnerName }); - // console.log(c); - return c; - } + if (!c.runner) { + return ""; + } + if (v.startsWith("#")) { + const id = parseInt(v.replace("#", "")); + if (c.runner.id === id) { + console.log(c); + return c; + } + } else { + let runnerName = `${c.runner.firstname} ${c.runner.lastname}`; + if (c.runner.middlename) { + runnerName = `${c.runner.firstname} ${c.runner.middlename} ${c.runner.lastname}`; + } + runnerName = runnerName.toLowerCase(); + if (runnerName.includes(v)) { + return c; } } return ""; -- 2.47.2 From 32a9074963cce3328f14b1f981ddd5ee49df0008 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 15 Mar 2023 12:14:39 +0100 Subject: [PATCH 3/3] Wow this api is fun ref #159 --- src/components/cards/ThFilterRunner.svelte | 31 ++++++++++------------ 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/components/cards/ThFilterRunner.svelte b/src/components/cards/ThFilterRunner.svelte index 9222616c..47a84120 100644 --- a/src/components/cards/ThFilterRunner.svelte +++ b/src/components/cards/ThFilterRunner.svelte @@ -5,31 +5,28 @@ { + on:input={() => { setTimeout(() => { const v = filterValue.toLowerCase(); handler.filter(v, (c) => { - if (v === "") { - return c; - } - if (!c.runner) { - return ""; + // if (v === "") { + // return c; + // } + + if (!c.runner && v === "blanko") { + return "blanko"; } + if (v.startsWith("#")) { - const id = parseInt(v.replace("#", "")); - if (c.runner.id === id) { - console.log(c); - return c; - } - } else { + return `#${c.runner?.id}`; + } + if (c.runner) { let runnerName = `${c.runner.firstname} ${c.runner.lastname}`; if (c.runner.middlename) { runnerName = `${c.runner.firstname} ${c.runner.middlename} ${c.runner.lastname}`; } runnerName = runnerName.toLowerCase(); - if (runnerName.includes(v)) { - return c; - } + return runnerName; } return ""; }); @@ -37,8 +34,8 @@ }} bind:value={filterValue} type="text" - name="filter__runner" - id="filter__runner" + name="runnerfilter" + id="runnerfilter" /> -- 2.47.2