fix(M01): 로직 목록 「막힘만」 지움 · 왼쪽 로직 「전체」 가 가운데를 로직 목록으로

- 「막힘만」 체크 지움(줄의 ⛔ 막힘 표시 · 까닭 말풍선은 그대로)
- 로직 컨테이너 「전체」 · 구분 거름이 가운데를 로직 화면으로 바꿈(다른 컨테이너를 보던 중에도) — 원인: 거름이 로직 목록만 거르고 화면 전환(onLogic)을 안 부름
- 「전체」 는 찾는 글까지 비움 · 로직 상세가 열린 채면 목록으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
This commit is contained in:
2026-10-02 09:41:51 +09:00
co-authored by Claude Opus 5.5
parent af201fbbd3
commit c6776d5488
2 changed files with 4 additions and 12 deletions
+3 -12
View File
@@ -1,6 +1,6 @@
/* =============================================================================
* M01_MasterData_UI_Logic_List.ts
* 로직 목록 — 가운데 표 · 왼쪽 「전체」 + 구분 → 상세구분 거름이 고른 범위 + 이름 찾기 + 막힘만
* 로직 목록 — 가운데 표 · 왼쪽 「전체」 + 구분 → 상세구분 거름이 고른 범위 + 이름 찾기
* 파일을 가로질러 한 목록 · 쪽 나눔 · 막힘(⛔)·고침(●) 표시 · 거르기는 화면에서(목록은 한 번 받음)
* ========================================================================== */
@@ -47,7 +47,6 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
const pick = { sub: "", detail: "" };
const searchField = createInputField({ type: "search", placeholder: tx("List_Search") });
const search = searchField.input;
const blockedOnly = el("input", { attrs: { type: "checkbox" } });
const grid = el("div", { className: "m01-master__grid-wrap" });
const draw = (): void => {
@@ -56,7 +55,6 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
(x) =>
(!pick.sub || x.sub === pick.sub) &&
(!pick.detail || x.detail === pick.detail) &&
(!blockedOnly.checked || x.blocked) &&
(!q || [x.key, x.number, x.name].some((v) => v.toLowerCase().includes(q))),
);
page = Math.min(page, Math.max(1, Math.ceil(shown.length / SIZE)));
@@ -107,7 +105,6 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
};
search.addEventListener("input", () => go(1));
blockedOnly.addEventListener("change", () => go(1));
let pager = buildPager(0, SIZE, 1, go);
const root = el("div", {
@@ -115,14 +112,7 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
children: [
el("div", {
className: "m01-logic__filters",
children: [
searchField.root,
el("label", {
className: "m01-logic__check",
children: [blockedOnly, el("span", { text: tx("List_BlockedOnly") })],
}),
pager,
],
children: [searchField.root, pager],
}),
grid,
],
@@ -151,6 +141,7 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
},
setPick: (sub, detail) => {
Object.assign(pick, { sub, detail });
if (!sub && !detail) search.value = ""; // 「전체」 — 찾는 글까지 비움
go(1);
},
total: () => items.length,
+1
View File
@@ -248,6 +248,7 @@ export function buildSide(onOpen: (pick: Pick) => void, onLogic: () => void): Si
/* 기억 못 해도 거름은 됨 */
}
setActive(a.id);
if (a.id === LOGIC_ID) onLogic(); // 로직 거름(「전체」 · 구분) — 가운데를 로직 목록으로
lastRun.set(a.id.split(/[|\n]/)[0] as Group, a.id);
a.onPick(
sub.select.value,