diff options
Diffstat (limited to 'src/components/ParksTable.astro')
| -rw-r--r-- | src/components/ParksTable.astro | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/components/ParksTable.astro b/src/components/ParksTable.astro index 4de8515..5b7f5ac 100644 --- a/src/components/ParksTable.astro +++ b/src/components/ParksTable.astro @@ -159,6 +159,7 @@ function facTokens(p: Park): string { if ((p["シェルター等"] || "").trim()) tokens.push("shelter"); if (HEALTH_TOKENS.some((token) => play.includes(token))) tokens.push("health"); if (hasSpecialToy(play)) tokens.push("special"); + if (play.includes("幼児")) tokens.push("toddler"); const clock = (p["時計"] || "").trim(); if (clock === "○" || clock === "あり" || clock === "有" || clock === "1") tokens.push("clock"); if (p["南西部指定管理"]) tokens.push("cm"); @@ -845,7 +846,7 @@ function isUnconfirmed(p: Park): boolean { let sortDir = 1; let selectedName = ""; - const applyFilter = () => { + const applyFilter = (focus: boolean | "later" = false) => { const kind = kindSelect ? kindSelect.value : ""; const town = select ? select.value : ""; const query = search ? search.value.trim().toLowerCase() : ""; @@ -880,6 +881,7 @@ function isUnconfirmed(p: Park): boolean { kind || town || query || wanted.length || selectedName || onlyUnconfirmed, ), fromMap, + focus, }, }), ); @@ -913,15 +915,15 @@ function isUnconfirmed(p: Park): boolean { }; select?.addEventListener("change", () => { clearSelected(); - applyFilter(); + applyFilter(true); }); kindSelect?.addEventListener("change", () => { clearSelected(); - applyFilter(); + applyFilter(true); }); search?.addEventListener("input", () => { clearSelected(); - applyFilter(); + applyFilter("later"); updateSearchClear(); }); const updateSearchClear = () => { @@ -931,18 +933,19 @@ function isUnconfirmed(p: Park): boolean { if (!search) return; search.value = ""; updateSearchClear(); - search.dispatchEvent(new Event("input", { bubbles: true })); + clearSelected(); + applyFilter(true); search.focus(); }); checks.forEach((c) => c.addEventListener("change", () => { clearSelected(); - applyFilter(); + applyFilter(true); }), ); unconfirmedBox?.addEventListener("change", () => { clearSelected(); - applyFilter(); + applyFilter(true); }); // 地図のポリゴンクリック時は、キーワードを変えずに一覧の行を強調する。 |
