refactor: POP 그리드 시스템 명칭 통일 + Dead Code 제거
V5→V6 전환 과정에서 누적된 버전 접미사, 미사용 함수, 레거시 잔재를 정리하여 코드 관리성을 확보한다. 14개 파일 수정, 365줄 순감. [타입 리네이밍] (14개 파일) - PopLayoutDataV5 → PopLayoutData - PopComponentDefinitionV5 → PopComponentDefinition - PopGlobalSettingsV5 → PopGlobalSettings - PopModeOverrideV5 → PopModeOverride - createEmptyPopLayoutV5 → createEmptyLayout - isV5Layout → isPopLayout - addComponentToV5Layout → addComponentToLayout - createComponentDefinitionV5 → createComponentDefinition - 구 이름은 deprecated 별칭으로 유지 (하위 호환) [Dead Code 삭제] (gridUtils.ts -350줄) - getAdjustedBreakpoint, convertPositionToMode, isOutOfBounds, mouseToGridPosition, gridToPixelPosition, isValidPosition, clampPosition, autoLayoutComponents (전부 외부 사용 0건) - needsReview + ReviewPanel/ReviewItem (항상 false, 미사용) - getEffectiveComponentPosition export → 내부 함수로 전환 [레거시 로더 분리] (신규 legacyLoader.ts) - convertV5LayoutToV6 → loadLegacyLayout (legacyLoader.ts) - V5 변환 상수/함수를 gridUtils에서 분리 [주석 정리] - "v5 그리드" → "POP 블록 그리드" - "하위 호환용" → "뷰포트 프리셋" / "레이아웃 설정용" - 파일 헤더, 섹션 구분, 함수 JSDoc 정리 기능 변경 0건. DB 변경 0건. 백엔드 변경 0건.
This commit is contained in:
@@ -49,8 +49,8 @@ import { usePopEvent } from "@/hooks/pop/usePopEvent";
|
||||
import { useCartSync } from "@/hooks/pop/useCartSync";
|
||||
import { NumberInputModal } from "../pop-card-list/NumberInputModal";
|
||||
import { renderCellV2 } from "./cell-renderers";
|
||||
import type { PopLayoutDataV5 } from "@/components/pop/designer/types/pop-layout";
|
||||
import { isV5Layout, detectGridMode } from "@/components/pop/designer/types/pop-layout";
|
||||
import type { PopLayoutData } from "@/components/pop/designer/types/pop-layout";
|
||||
import { isPopLayout, detectGridMode } from "@/components/pop/designer/types/pop-layout";
|
||||
import dynamic from "next/dynamic";
|
||||
const PopViewerWithModals = dynamic(() => import("@/components/pop/viewer/PopViewerWithModals"), { ssr: false });
|
||||
|
||||
@@ -216,7 +216,7 @@ export function PopCardListV2Component({
|
||||
|
||||
// ===== 모달 열기 (POP 화면) =====
|
||||
const [popModalOpen, setPopModalOpen] = useState(false);
|
||||
const [popModalLayout, setPopModalLayout] = useState<PopLayoutDataV5 | null>(null);
|
||||
const [popModalLayout, setPopModalLayout] = useState<PopLayoutData | null>(null);
|
||||
const [popModalScreenId, setPopModalScreenId] = useState<string>("");
|
||||
const [popModalRow, setPopModalRow] = useState<RowData | null>(null);
|
||||
|
||||
@@ -228,7 +228,7 @@ export function PopCardListV2Component({
|
||||
return;
|
||||
}
|
||||
const popLayout = await screenApi.getLayoutPop(sid);
|
||||
if (popLayout && isV5Layout(popLayout)) {
|
||||
if (popLayout && isPopLayout(popLayout)) {
|
||||
setPopModalLayout(popLayout);
|
||||
setPopModalScreenId(String(sid));
|
||||
setPopModalRow(row);
|
||||
|
||||
@@ -19,7 +19,7 @@ import { usePopEvent } from "@/hooks/pop/usePopEvent";
|
||||
import { BarcodeScanModal } from "@/components/common/BarcodeScanModal";
|
||||
import type {
|
||||
PopDataConnection,
|
||||
PopComponentDefinitionV5,
|
||||
PopComponentDefinition,
|
||||
} from "@/components/pop/designer/types/pop-layout";
|
||||
|
||||
// ========================================
|
||||
@@ -99,7 +99,7 @@ function parseScanResult(
|
||||
function getConnectedFields(
|
||||
componentId?: string,
|
||||
connections?: PopDataConnection[],
|
||||
allComponents?: PopComponentDefinitionV5[],
|
||||
allComponents?: PopComponentDefinition[],
|
||||
): ConnectedFieldInfo[] {
|
||||
if (!componentId || !connections || !allComponents) return [];
|
||||
|
||||
@@ -308,7 +308,7 @@ const PARSE_MODE_LABELS: Record<string, string> = {
|
||||
interface PopScannerConfigPanelProps {
|
||||
config: PopScannerConfig;
|
||||
onUpdate: (config: PopScannerConfig) => void;
|
||||
allComponents?: PopComponentDefinitionV5[];
|
||||
allComponents?: PopComponentDefinition[];
|
||||
connections?: PopDataConnection[];
|
||||
componentId?: string;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ const DEFAULT_CONFIG: PopSearchConfig = {
|
||||
interface ConfigPanelProps {
|
||||
config: PopSearchConfig | undefined;
|
||||
onUpdate: (config: PopSearchConfig) => void;
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinitionV5[];
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinition[];
|
||||
connections?: import("@/components/pop/designer/types/pop-layout").PopDataConnection[];
|
||||
componentId?: string;
|
||||
}
|
||||
@@ -151,7 +151,7 @@ export function PopSearchConfigPanel({ config, onUpdate, allComponents, connecti
|
||||
interface StepProps {
|
||||
cfg: PopSearchConfig;
|
||||
update: (partial: Partial<PopSearchConfig>) => void;
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinitionV5[];
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinition[];
|
||||
connections?: import("@/components/pop/designer/types/pop-layout").PopDataConnection[];
|
||||
componentId?: string;
|
||||
}
|
||||
@@ -268,7 +268,7 @@ interface FilterConnectionSectionProps {
|
||||
update: (partial: Partial<PopSearchConfig>) => void;
|
||||
showFieldName: boolean;
|
||||
fixedFilterMode?: SearchFilterMode;
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinitionV5[];
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinition[];
|
||||
connections?: import("@/components/pop/designer/types/pop-layout").PopDataConnection[];
|
||||
componentId?: string;
|
||||
}
|
||||
@@ -284,7 +284,7 @@ interface ConnectedComponentInfo {
|
||||
function getConnectedComponentInfo(
|
||||
componentId?: string,
|
||||
connections?: import("@/components/pop/designer/types/pop-layout").PopDataConnection[],
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinitionV5[],
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinition[],
|
||||
): ConnectedComponentInfo {
|
||||
const empty: ConnectedComponentInfo = { tableNames: [], displayedColumns: new Set() };
|
||||
if (!componentId || !connections || !allComponents) return empty;
|
||||
|
||||
@@ -22,7 +22,7 @@ import { DEFAULT_STATUS_BAR_CONFIG, STATUS_CHIP_STYLE_LABELS } from "./types";
|
||||
interface ConfigPanelProps {
|
||||
config: StatusBarConfig | undefined;
|
||||
onUpdate: (config: StatusBarConfig) => void;
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinitionV5[];
|
||||
allComponents?: import("@/components/pop/designer/types/pop-layout").PopComponentDefinition[];
|
||||
connections?: import("@/components/pop/designer/types/pop-layout").PopDataConnection[];
|
||||
componentId?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user