fix(est): name copied projects when saving
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
## Codex · EST 독립 테스트 앱 (2026-11-04)
|
||||
- [x] 다른 이름으로 저장할 때 작업 이름 입력 → 원본·복사본 구분과 저장 취소 확인.
|
||||
- 자체 검증: Tailscale HTTP Edge에서 빈 이름 차단, 별도 이름·ID의 사본 저장과 기존 파일 보존 확인.
|
||||
- [x] Tailscale HTTP 접속의 새 항목·첨부·공정 생성 오류 수정 → 실제 원격 주소에서 생성과 저장 확인.
|
||||
- 자체 검증: Tailscale HTTP Edge의 비보안 컨텍스트에서 UUID·공정·첨부 생성·JSON 저장 확인. 관련 시험 31개 통과.
|
||||
- [x] EST 백업 EBKX 파일 열기 → 실무 백업 읽기·JSON 저장·재열기 확인.
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
저장은 이 폴더의 `data/`에 작업을 보관하고 `.estweb.json` 파일도 내려받습니다. 브라우저 임시 저장은 같은 탭에서 복원하는 용도입니다. JSON은 모든 웹 업무와 원본 압축 파일·바이너리를 보관하는 전체 저장 형식입니다. ESTX 수정 저장은 아래 지원 조건을 따릅니다.
|
||||
|
||||
`다른 이름으로 저장`은 작업 이름을 입력받아 별도 작업으로 저장하며 기존 작업은 유지합니다.
|
||||
|
||||
작업모드의 `첨부파일`에서 파일을 추가·내려받기·삭제할 수 있습니다. 파일은 작업 JSON에 포함되며 이 앱의 저장 요청은 전체 256MB 이하입니다. 제한을 초과하는 파일은 읽기 전에 추가를 차단합니다. 첨부파일이 있는 작업은 JSON으로 저장해야 하며, 첨부파일이 빠진 ESTX가 만들어지지 않도록 ESTX 저장을 차단합니다.
|
||||
|
||||
## 추가 입출력·문서 기능 (2026-11-06)
|
||||
|
||||
@@ -144,7 +144,20 @@ const EstActions = (() => {
|
||||
if (confirm("현재 작업을 REA 샘플로 바꾸시겠습니까?"))
|
||||
EstApp.setProject(await api("/api/sample"));
|
||||
} else if (name === "open") EstApp.byId("open-file").click();
|
||||
else if (name === "save" || name === "save-as") await EstApp.save(name === "save-as");
|
||||
else if (name === "save") await EstApp.save();
|
||||
else if (name === "save-as")
|
||||
form(
|
||||
"다른 이름으로 저장",
|
||||
[{ name: "name", label: "작업 이름", value: project.name }],
|
||||
async (values) => {
|
||||
const nextName = values.name.trim();
|
||||
const input = document.querySelector('#dialog-content [name="name"]');
|
||||
input.setCustomValidity(nextName ? "" : "작업 이름을 입력하세요.");
|
||||
if (!input.reportValidity()) throw Error("작업 이름을 입력하세요.");
|
||||
EstApp.change(() => (project.name = nextName), false);
|
||||
await EstApp.save(true);
|
||||
},
|
||||
);
|
||||
else if (name === "undo") await undo();
|
||||
else if (name === "redo") await undo(true);
|
||||
else if (name === "add-row") insertRow();
|
||||
|
||||
Reference in New Issue
Block a user