refactor(785-7): 옛 맞춤 화면 TS 지움 · 옛 [저장] · [모두 고정] 단추 걷음 · 390 줄 판 높이
- 지움(git rm) 15 파일 3,318 줄: Hopyo_Check · CheckRows · Choose · WizardSk · SkApi · SkLines · logic/SkPick · logic/Draft · Left · Lost · Pick · SheetMake · Kids · ToItem · Compare(모두 옛 확인 창 · 마법사 단가산출 · 안 이은 줄 길 몫 · 부르는 곳 0) - 단추 판단: 엑셀 보기 [저장](체크 호표) · [모두 고정으로 들여오기] 화면 단추 걷음 → 만들기 = [옮기기] 하나 · 모두 고정 서버 길(Builder · build_all)은 B09 · 붙여넣기가 써서 남김 · 목록 체크 칸 · 모달 껍데기(openHopyoSheet · raise · lower) 걷음 - Import: 「안 이은 줄」 띠 · [안 이은 줄 고르기] · 남은 줄 셈 걷음 · [끝내기] = 물음(확인하고 안 옮긴 수 = 판정 고름 캐시 moveBody) - Api: 옛 맞춤 타입 · 길(readHopyoOne · guessHopyo · buildHopyo · buildHopyoAll · leftHopyo · listHopyoPicks · hopyoSiblings · buildHopyoItem …) 걷음 · POLL_MS · HOPYO_BUILT 옮겨 옴 · 목록 꼴 = 1차 판정 줄상태(Judge.view) - Labor_Pick: withHopyo(실무 호표 덧줄) → withSangeun(찾아 넣기 창 표시만) · Detail · Table 부름 바꿈 - Ledger: unitField 옮겨 옴 · SheetNav: 옛 확인 캐시 칠 걷음 · UI_Page: [구조물 조합으로] 듣기 걷음 - CSS: 옛 확인 창 · 고르기 창 규칙 34 걷음(481 → 287 줄) · 390 폭 = 줄 판 열리면 위 칸 넓힘 · 줄 판 높이 바닥 16rem 시험 정리(까닭 = 지운 화면 파일만 읽음): - 지움: test_729_3_hopyo_left_screen · test_746_2_hopyo_compare_screen · test_778_5_sk_pick_screen · helper_729_3 · helper_m02_hopyo_check · pick · seam - test_m02_hopyo_screen = 좌측 판 · 끝내기 둘만 · 627 · helper_778_5 = SheetSk 판 바꿈만 · 785_4 · 721 · 717_4 · 720 · 739_1 = 지금 꼴로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,9 +5,9 @@
|
||||
* 원본 시트 이름 · 그 행 칠 까닭 글(블록 「예상」 가름).
|
||||
* · 탭 = 서버 역할 id(779-1) 시트를 같은 글(일위대가표 · 단가산출표 · 단가산출 상세)로 · 원본 이름은 막대
|
||||
* · 칠 = `logic/M02_MasterTemplete_Hopyo_SheetMap` 이 셈 · 격자 옵션 `칠`(779-3) 로 보이는 칸만 · A 열 ~ 끝 열 · 띠는 A 열만
|
||||
* · 다시 칠 = 목록 다시 읽음(`marks`) · 확인 창 캐시 바뀜(`HOPYO_DRAFT`) · 만들기(`HOPYO_BUILT` → 목록 · 블록 다시 읽음)
|
||||
* · 다시 칠 = 목록 다시 읽음(`marks`) · 판정 화면 확인 바뀜(`repaint`) · 만들기(`HOPYO_BUILT` → 목록 · 블록 다시 읽음)
|
||||
* · 블록을 여러 줄이 부르면 [▸ 부르는 줄] 이 차례로 돌림 · 뛸 때마다 그 앞 자리를 쌓고 [◂ 뒤로] 가 꺼냄 · 두 번 누름 = 첫 단추
|
||||
* · 779-6 — 마지막 격자 다시 씀(`gridOf`) · 열린 창 앞으로 꺼냄 · 닫기 = 제자리로(`raise` · `lower`)
|
||||
* · 779-6 — 마지막 격자 다시 씀(`gridOf`)
|
||||
* · 778-5 D-6 — 머리 막대 아래 띠(부품 `createBanner`) 「엑셀 셈 어긋남 n」 + [보기 i/m] = 상세 시트 그 행으로 차례로 뛰기 ·
|
||||
* 그 행 까닭은 막대 글에 덧붙임 · 칠은 안 바꿈
|
||||
* · 780-2 — `role(시트)` · `blockAt(시트, 행)`(단가산출표 목록 행 · 상세 블록 범위) · `spotOf(번, 역할)` 내보냄(오른쪽 단가산출 목록)
|
||||
@@ -21,9 +21,9 @@ import { t as L } from "@ui/ui_template_locale";
|
||||
import type { Workbook } from "../A00_Common/spreadsheet/spreadsheet";
|
||||
import type { SpreadsheetHandle } from "../A00_Common/spreadsheet/spreadsheet";
|
||||
import { call } from "./M02_MasterTemplete_Api_Fetch";
|
||||
import { draftKey, hasDraft, HOPYO_BUILT, loadDraft } from "./M02_MasterTemplete_Hopyo_Check";
|
||||
import {
|
||||
at,
|
||||
HOPYO_BUILT,
|
||||
readHopyo,
|
||||
readHopyoGrid,
|
||||
type HopyoGrid,
|
||||
@@ -45,8 +45,6 @@ import {
|
||||
type Spot,
|
||||
} from "./logic/M02_MasterTemplete_Hopyo_SheetMap";
|
||||
|
||||
/** 확인 창 캐시를 고쳤음(document 알림 · `Hopyo_Check.saveDraft` 가 같은 글로 냄) — 엑셀 보기 창 다시 칠 */
|
||||
export const HOPYO_DRAFT = "m02-hopyo-draft";
|
||||
const TAB = { 일위대가표: "M02_SheetIlwi", 단가산출표: "M02_SheetList", 단가산출상세: "M02_SheetDetail" } as const; // prettier-ignore
|
||||
|
||||
const enc = encodeURIComponent;
|
||||
@@ -69,23 +67,6 @@ export function gridOf(id: string, scope: HopyoScope, key: string): Promise<Hopy
|
||||
}
|
||||
export const dropGrid = (): void => void (kept = null);
|
||||
|
||||
/** 창(모달 바탕)을 맨 앞으로 — 원래 위에 있던 것들(제자리 표시) · 이미 맨 앞이면 [] */
|
||||
export function raise(node: Element): Element[] {
|
||||
const back = node.closest(".ui-modal__backdrop");
|
||||
let above = back?.nextElementSibling ?? null;
|
||||
while (above && !above.matches(".ui-modal__backdrop")) above = above.nextElementSibling;
|
||||
if (!back || !above) return [];
|
||||
document.body.append(back);
|
||||
return [above];
|
||||
}
|
||||
/** 꺼낸 창을 제자리로 — 했으면 참(닫기 대신) */
|
||||
export function lower(node: Element, above: Element[]): boolean {
|
||||
const back = node.closest(".ui-modal__backdrop");
|
||||
if (!back || !above[0]?.isConnected) return false;
|
||||
document.body.insertBefore(back, above[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
/** 역할 시트 탭 글 통일 — 역할 → 시트 id */
|
||||
export function nameTabs(book: Workbook, grid: HopyoGrid): Partial<Record<Role, string>> {
|
||||
const ids = (grid as HopyoGrid & GridMore).보기 ?? {};
|
||||
@@ -126,10 +107,6 @@ export function createSheetNav(opt: SheetNavOptions) {
|
||||
const lastCol = new Map<string, number>();
|
||||
const colOf = (sheet: string): number =>
|
||||
lastCol.get(sheet) ?? lastCol.set(sheet, toCol(opt.last(sheet))).get(sheet)!;
|
||||
const draftOf = (no: number) => {
|
||||
const k = draftKey(opt.scope, opt.key, no);
|
||||
return hasDraft(k) ? loadDraft(k) : null;
|
||||
};
|
||||
const go = (range: string, sheet: string): void => void opt.sheet()?.select(range, sheet);
|
||||
|
||||
const buttons = el("div", { className: "ui-toolbar m02-hopyo__bar" });
|
||||
@@ -231,7 +208,7 @@ export function createSheetNav(opt: SheetNavOptions) {
|
||||
}
|
||||
|
||||
function repaint(): void {
|
||||
paint = paintOf(ix, briefs, blocks, draftOf, opt.judged);
|
||||
paint = paintOf(ix, briefs, blocks, () => null, opt.judged); // 옛 확인 창 캐시 없음(785-7)
|
||||
opt.sheet()?.repaint();
|
||||
paintBar();
|
||||
}
|
||||
@@ -241,12 +218,10 @@ export function createSheetNav(opt: SheetNavOptions) {
|
||||
paintBand();
|
||||
repaint();
|
||||
}
|
||||
const onDraft = (): void => repaint();
|
||||
const onBuilt = (): void => {
|
||||
void readHopyo(opt.scope, opt.key).then((v) => (briefs = v.호표 as BriefMarks[]), () => {}).then(readBlocks); // prettier-ignore
|
||||
};
|
||||
const onTwice = (): void => root.querySelector<HTMLButtonElement>("[data-hopyo-jump]")?.click();
|
||||
document.addEventListener(HOPYO_DRAFT, onDraft);
|
||||
document.addEventListener(HOPYO_BUILT, onBuilt);
|
||||
opt.host.addEventListener("dblclick", onTwice);
|
||||
paintBar();
|
||||
@@ -288,7 +263,6 @@ export function createSheetNav(opt: SheetNavOptions) {
|
||||
return sheet && rows ? { 시트: sheet, 행: rows } : null;
|
||||
},
|
||||
destroy(): void {
|
||||
document.removeEventListener(HOPYO_DRAFT, onDraft);
|
||||
document.removeEventListener(HOPYO_BUILT, onBuilt);
|
||||
opt.host.removeEventListener("dblclick", onTwice);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user