aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/components/ParksTable.astro
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ParksTable.astro')
-rw-r--r--src/components/ParksTable.astro17
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);
});
// 地図のポリゴンクリック時は、キーワードを変えずに一覧の行を強調する。