fix(M02): 흐름도 패널 — 크게 보기를 닫으면 판을 처음 차례로 되돌려 끼움 · 만들 때 변수 차례 · 좁은 패널 맞춤 바닥 0.25(PLAN 36-3)
- ORCA(5183): 540px 칸 상자 11 모두 판 안(0.288) · 머리 끌기 → onChange 새 객체 1 번 · 크게 보기 0.9 · 닫으면 패널 0.288 · 고친 자리 그대로 · 실행 취소 → onChange 되돌린 객체 · 접기 띠 「흐름도 ▸」 onResize 40 · 펴기 · 가장자리 끌기 +120 → onResize 764 · localStorage · 보기만: 더하기 0 · 끌기 onChange 0 · 고르기 됨 · 판 칸 막힘 · 여러 조건 이름표 · 밝음 · 어두움 - resources/master_data 안 바뀜(git status) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
This commit is contained in:
@@ -53,7 +53,7 @@ export interface FlowPanel {
|
||||
export const PANEL_MIN = 320;
|
||||
export const STRIP_WIDTH = 40;
|
||||
/** 좁은 패널에서 저절로 맞출 때 가장 작은 확대 */
|
||||
export const PANEL_FIT_MIN = 0.5;
|
||||
export const PANEL_FIT_MIN = 0.25;
|
||||
const WIDTH_KEY = "m02.dfpanel.width";
|
||||
const FOLD_KEY = "m02.dfpanel.folded";
|
||||
|
||||
@@ -87,6 +87,8 @@ const writeStore = (key: string, value: string): void => {
|
||||
/* ── 패널 ───────────────────────────────────────────────────────────── */
|
||||
|
||||
export function mountFlowPanel(host: HTMLElement, opts: FlowPanelOpts): FlowPanel {
|
||||
/** 크게 보기 화면 — 열려 있을 때만 */
|
||||
let full: HTMLElement | null = null;
|
||||
const paper = createPaper({
|
||||
logic: opts.logic,
|
||||
readOnly: opts.readOnly,
|
||||
@@ -98,7 +100,6 @@ export function mountFlowPanel(host: HTMLElement, opts: FlowPanelOpts): FlowPane
|
||||
const { diagram, detail, summary, note, undo } = paper.parts;
|
||||
let width = storedWidth(readStore(WIDTH_KEY));
|
||||
let folded = readStore(FOLD_KEY) === "1";
|
||||
let full: HTMLElement | null = null;
|
||||
const tell = (): void => opts.onResize?.(folded ? STRIP_WIDTH : (width ?? host.clientWidth));
|
||||
|
||||
const sm = (label: string, onClick: () => void, variant: "ghost" | "filled" = "ghost") =>
|
||||
@@ -241,10 +242,16 @@ export function mountFlowPanel(host: HTMLElement, opts: FlowPanelOpts): FlowPane
|
||||
full.remove();
|
||||
full = null;
|
||||
tools.append(undo);
|
||||
open.insertBefore(note, diagram);
|
||||
open.insertBefore(diagram, detail);
|
||||
open.insertBefore(detail, costBox);
|
||||
costBox.append(summary);
|
||||
// 머리 · 실행 취소 줄 뒤에 판을 처음 차례대로 되돌려 끼움
|
||||
open.replaceChildren(
|
||||
open.firstElementChild as HTMLElement,
|
||||
tools,
|
||||
note,
|
||||
diagram,
|
||||
detail,
|
||||
costBox,
|
||||
);
|
||||
paper.refit();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user