perf(spreadsheet): D — sub6 조건부 서식 · 초록 세모 받은 뒤 크기 예산 맞춤
- 골라 붙여넣기 몸통을 고를 때 불러옴 · 조건부 서식 창은 격자가 이미 끌어오므로 바로 import(정적 끌어옴 시험) - M02 [스프레드시트 시험] ORCA: 조건부 서식 색(3 · 2 칠함 · 1 안 칠함 · 고치면 다시 칠함) · #DIV/0! 초록 세모 · 필터 행 숨김 수치 확인 - 크기 시험 통과 — 화면 27.6 KB · 합 61.5 KB Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L6KXAabDTenEU7hrDQmCKY
This commit is contained in:
@@ -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)],
|
||||
|
||||
@@ -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;
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user