feat(M01): 로직 목록 원문번호 찾기 · 로직 목록 차례순
- 로직 목록 찾기가 원문번호도 봄(키가 번호꼴이 아니라서) - 서버 로직 목록을 파일 머리 차례순으로 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
This commit is contained in:
@@ -190,7 +190,7 @@ def logics(book: str, chapter: str, q: str, blocked: int | None) -> list[dict]:
|
||||
files = cm.load(folder=FOLDER)
|
||||
whole = cm.mf.Master(files)
|
||||
out = []
|
||||
for name, data in _logic_files(files):
|
||||
for name, data in sorted(_logic_files(files), key=lambda f: f[1].get("차례") or 0):
|
||||
if (book and data.get("원문") != book) or (chapter and chapter_of(name, data) != chapter):
|
||||
continue
|
||||
for row in data.get("줄") or []:
|
||||
|
||||
@@ -15,6 +15,7 @@ export interface ListItem {
|
||||
book: string;
|
||||
chapter: string;
|
||||
key: string;
|
||||
number: string;
|
||||
name: string;
|
||||
blocked: boolean;
|
||||
reasons: string[];
|
||||
@@ -65,7 +66,7 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
|
||||
(!book.value || x.book === book.value) &&
|
||||
(!chapter.value || x.chapter === chapter.value) &&
|
||||
(!blockedOnly.checked || x.blocked) &&
|
||||
(!q || x.key.toLowerCase().includes(q) || x.name.toLowerCase().includes(q)),
|
||||
(!q || [x.key, x.number, x.name].some((v) => v.toLowerCase().includes(q))),
|
||||
);
|
||||
count.textContent = tx("List_Count", { n: shown.length });
|
||||
list.replaceChildren(...shown.slice(0, 500).map(line));
|
||||
@@ -90,8 +91,11 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
|
||||
className: `m01-logic__item${item.id === active ? " is-active" : ""}`,
|
||||
attrs: { type: "button", title: item.key },
|
||||
children: [
|
||||
el("span", { className: "m01-logic__muted", text: `${item.book} ${item.chapter}` }),
|
||||
el("span", { text: item.name || item.key }),
|
||||
el("span", {
|
||||
className: "m01-logic__muted",
|
||||
text: `${item.book} ${item.chapter} · ${item.number}`,
|
||||
}),
|
||||
el("span", { text: item.name || item.number || item.key }),
|
||||
el("span", { className: "m01-logic__badges", children: badges }),
|
||||
],
|
||||
});
|
||||
@@ -134,6 +138,7 @@ export function buildList(onOpen: (item: ListItem) => void): ListHandle {
|
||||
book: x.book,
|
||||
chapter: x.chapter,
|
||||
key: x.키,
|
||||
number: x.원문번호,
|
||||
name: x.이름,
|
||||
blocked: x.blocked,
|
||||
reasons: x.reasons,
|
||||
|
||||
@@ -91,7 +91,8 @@ export async function mountM01Logic(host: HTMLElement, listHost: HTMLElement): P
|
||||
id,
|
||||
book: d.book,
|
||||
chapter: "",
|
||||
key: d.row.키 || d.row.원문번호,
|
||||
key: d.row.키,
|
||||
number: d.row.원문번호,
|
||||
name: d.row.이름,
|
||||
blocked: false,
|
||||
reasons: [],
|
||||
|
||||
Reference in New Issue
Block a user