fix(M02): 마스터 층 읽기도 층 길 한 벌 — 회사 관리자 · 일반 「시스템 관리자 권한」 막힘 풂 (39-8)

- Api_Fetch: 시스템 층도 /layers/system/… (양식 목록 · 읽기 · 저장 · 지우기 · 번호 · 장부 · 새 도면 · 복사) — 옛 /api/m02/templates/* 부름 0
- 서버: GET /layers/system/structure-options(읽기 로그인 누구나 · 고쳐 씀은 옛 길 그대로) · 층 양식 목록에 쓰는곳(지우기 확인 전 막음)
- 「〇〇로 복사…」 폴더 창 칸 글 「복사할 폴더」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
2026-10-04 21:37:24 +09:00
co-authored by Claude Opus 5.5
parent 46f8b7611d
commit 524dc8febc
7 changed files with 103 additions and 14 deletions
@@ -142,12 +142,14 @@ export function askNewItem(opt: {
});
}
/** 옮길 폴더 고르기 — `folders` 에서 `blocked` 인 것은 뺌 · 맨 위(폴더 밖)는 늘 있음 */
/** 옮길 폴더 고르기 — `folders` 에서 `blocked` 인 것은 뺌 · 맨 위(폴더 밖)는 늘 있음 ·
* `fieldLabel` = 칸 글(복사는 「복사할 폴더」) */
export function askFolder(
title: string,
folders: string[][],
blocked: (path: string[]) => boolean,
current: string[],
fieldLabel: string = L("M02_TreeMoveTo"),
): Promise<string[] | null> {
return new Promise((resolve) => {
let done = false;
@@ -164,7 +166,7 @@ export function askFolder(
beforeClose: () => (finish(null), true),
mount: (body, close) => {
const field = createSelectField({
label: L("M02_TreeMoveTo"),
label: fieldLabel,
options: choices.map((path, i) => ({
value: String(i),
text: path.length ? path.join(" / ") : L("M02_TreeTop"),