From a144d4019e1fec8c1eb92d8458ec08e86502eebb Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 27 Sep 2026 21:54:35 +0900 Subject: [PATCH] =?UTF-8?q?perf(spreadsheet):=20D=20=E2=80=94=20sub6=20?= =?UTF-8?q?=EC=A1=B0=EA=B1=B4=EB=B6=80=20=EC=84=9C=EC=8B=9D=20=C2=B7=20?= =?UTF-8?q?=EC=B4=88=EB=A1=9D=20=EC=84=B8=EB=AA=A8=20=EB=B0=9B=EC=9D=80=20?= =?UTF-8?q?=EB=92=A4=20=ED=81=AC=EA=B8=B0=20=EC=98=88=EC=82=B0=20=EB=A7=9E?= =?UTF-8?q?=EC=B6=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 골라 붙여넣기 몸통을 고를 때 불러옴 · 조건부 서식 창은 격자가 이미 끌어오므로 바로 import(정적 끌어옴 시험) - M02 [스프레드시트 시험] ORCA: 조건부 서식 색(3 · 2 칠함 · 1 안 칠함 · 고치면 다시 칠함) · #DIV/0! 초록 세모 · 필터 행 숨김 수치 확인 - 크기 시험 통과 — 화면 27.6 KB · 합 61.5 KB Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01L6KXAabDTenEU7hrDQmCKY --- A00_Common/spreadsheet/spreadsheet_data_menu.ts | 9 ++------- A00_Common/spreadsheet/spreadsheet_extras.ts | 9 ++++++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/A00_Common/spreadsheet/spreadsheet_data_menu.ts b/A00_Common/spreadsheet/spreadsheet_data_menu.ts index a5d55e61..3dbdc1d9 100644 --- a/A00_Common/spreadsheet/spreadsheet_data_menu.ts +++ b/A00_Common/spreadsheet/spreadsheet_data_menu.ts @@ -16,6 +16,7 @@ import { parseRange, rangeToA1, toA1 } from "./spreadsheet_address"; import { autoSumRange } from "./spreadsheet_autosum"; import { isError } from "./spreadsheet_eval"; import type { FilterHandle } from "./spreadsheet_filter"; +import { createCondFmtPanel } from "./spreadsheet_condfmt"; import { createNameManagerPanel } from "./spreadsheet_names"; import { createSheetExtraPanel } from "./spreadsheet_sheet_extra"; import { mountActions } from "./spreadsheet_actions"; @@ -171,13 +172,7 @@ export function mountDataMenu(ctx: SpreadsheetContext, back: () => void): DataMe const items: MapContextMenuItem[] = [ [TEXT.sort, () => void sortDialog()], [TEXT.filterItem, () => (toggleFilter(), back())], - [ - TEXT.condfmt, - () => - void openPanel(TEXT.condfmt, () => - import("./spreadsheet_condfmt").then((m) => m.createCondFmtPanel), - ), - ], + [TEXT.condfmt, () => void openPanel(TEXT.condfmt, async () => createCondFmtPanel)], [TEXT.validation, () => void openPanel(TEXT.validation, async () => createValidationPanel)], [TEXT.names, () => void openPanel(TEXT.names, async () => createNameManagerPanel)], [TEXT.sheets, () => void openPanel(TEXT.sheets, async () => createSheetExtraPanel)], diff --git a/A00_Common/spreadsheet/spreadsheet_extras.ts b/A00_Common/spreadsheet/spreadsheet_extras.ts index 1b89db2e..13be5d3c 100644 --- a/A00_Common/spreadsheet/spreadsheet_extras.ts +++ b/A00_Common/spreadsheet/spreadsheet_extras.ts @@ -16,7 +16,7 @@ import type { FindPanelHandle } from "./spreadsheet_find_panel"; import { createFormatPainter } from "./spreadsheet_format_painter"; import type { KeyHooks } from "./spreadsheet_keys"; import type { MouseHooks } from "./spreadsheet_mouse"; -import { pasteSpecial, type PasteSpecialMode } from "./spreadsheet_paste_special"; +import type { PasteSpecialMode } from "./spreadsheet_paste_special"; import type { PartHandle, SpreadsheetContext } from "./spreadsheet_view_types"; const TEXT = { @@ -162,8 +162,11 @@ export function attachExtras( }); b.addEventListener("click", () => { picker.setAttribute("hidden", ""); - pasteSpecial(ctx, block, at, mode, source); - back(); + // 늦게 — 크기 예산 + void import("./spreadsheet_paste_special").then((m) => { + m.pasteSpecial(ctx, block, at, mode, source); + back(); + }); }); return b; }),