feat(B07): 목록에서 연 도면 = 탭 — 열기 · 닫기 · 전환 · 이전/다음 · 탭 전환 때 미저장 편집 지킴(82-4)
- 공용 탭 줄: 마지막 한 탭 닫기 없음 · 지금 탭 미저장 점 · 탭 하나만 저장 표시 지움 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
This commit is contained in:
@@ -98,7 +98,8 @@ const tabsMod = load("ui_template/cad_host/cad_host_tabs.ts", { "@ui/ui_template
|
||||
const before = confirms.length;
|
||||
const d2 = closer.element.kids.find((k) => k.dataset.tabId === "d2");
|
||||
await d2.kids.find((k) => k.className === "cad-tabs__x").on.click({ stopPropagation() {} });
|
||||
out.b07 = { log: b07, asked: confirms.length - before, ids: closer.tabs().map((t) => t.id) };
|
||||
const last = closer.element.kids.find((k) => k.dataset.tabId === "d1").kids.length; // 마지막 탭 = 닫기 없음
|
||||
out.b07 = { log: b07, asked: confirms.length - before, ids: closer.tabs().map((t) => t.id), last };
|
||||
|
||||
// ⑤ M02 여러 장 — 가짜 CAD(requestSave = 지금 실린 도면 + 편집)
|
||||
const cadLoads = [];
|
||||
@@ -193,6 +194,17 @@ def test_닫기_기능은_미저장_탭만_물음(got):
|
||||
["show", "d1", "편집본", True], # 받아 둔 편집본으로 돌아옴
|
||||
]
|
||||
assert b07["asked"] == 1 and ["closed", "d2"] in b07["log"] and b07["ids"] == ["d1"]
|
||||
assert b07["last"] == 1
|
||||
|
||||
|
||||
def test_B07_목록에서_연_도면이_탭_미저장_편집_지킴():
|
||||
page = (ROOT / "B07_DesignDetail/B07_DesignDetail_UI_Page.ts").read_text("utf-8")
|
||||
assert "features: { close: true }," in page # [+] · 지우기 없음(서버 길 없음)
|
||||
assert "dirty: cadDirty }" in page # 떠날 때 받아 둠
|
||||
assert "tab.dirty ? tab.drawing : undefined" in page # 돌아오면 받아 둔 편집본
|
||||
assert "cadDirty = !!stash;" in page and "cad.load(stash ?? response.drawing" in page
|
||||
assert "if (!cadDirty && !tabs.anyDirty()) return true;" in page
|
||||
assert "void openTab(drawings[target]);" in page # 이전 · 다음 = 그 도면 탭
|
||||
|
||||
|
||||
def test_여러_장_문서_장_도번_백업_칸(got):
|
||||
|
||||
Reference in New Issue
Block a user