chore: 제어모드 IDE 작업 + v2/legacy 레지스트리 컴포넌트 폐기
- 제어모드 IDE: ControlCardPanel, control/ide/* (Canvas/LeftRail/RightRail/PanZoomStage/V3RuleNode 등), schemas, lib/api/control - 레지스트리 정리: aggregation-widget, status-count, section-card/paper, table-list(legacy/v2), tabs-widget 폐기 → table/_shared/ 로 통합 - InvLegacyButtonConfigPanel cp 마이그레이션 - canonical data view cleanup 후속 노트
This commit is contained in:
+12
-5
@@ -153,12 +153,19 @@ export function ScreenSplitPanelConfigPanel({ config = {}, onChange }: ScreenSpl
|
||||
const embeddedScreenIds = new Set<number>();
|
||||
|
||||
// 컴포넌트에서 임베드된 화면 ID 수집
|
||||
// ★ 2026-05-19 tabs 탐색 helper — legacy tabs-widget/v2-tabs-widget + canonical container(containerType=tabs)
|
||||
const isTabsLikeForEmbedded = (ct: string | undefined, cfg: any): boolean =>
|
||||
ct === "tabs-widget" ||
|
||||
ct === "v2-tabs-widget" ||
|
||||
(ct === "container" && ((cfg?.containerType ?? "section") === "tabs"));
|
||||
|
||||
const findEmbeddedScreens = (comps: any[]) => {
|
||||
for (const comp of comps) {
|
||||
const config = comp.componentConfig || {};
|
||||
|
||||
// TabsWidget의 탭들
|
||||
if (comp.componentType === "tabs-widget" && config.tabs) {
|
||||
const config = comp.componentConfig || comp.component_config || {};
|
||||
const componentType = comp.componentType || comp.component_type;
|
||||
|
||||
// TabsWidget / canonical container tabs 의 탭들
|
||||
if (isTabsLikeForEmbedded(componentType, config) && config.tabs) {
|
||||
for (const tab of config.tabs) {
|
||||
if (tab.screen_id) {
|
||||
embeddedScreenIds.add(tab.screen_id);
|
||||
@@ -166,7 +173,7 @@ export function ScreenSplitPanelConfigPanel({ config = {}, onChange }: ScreenSpl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ScreenSplitPanel
|
||||
if (comp.componentType === "screen-split-panel") {
|
||||
if (config.leftScreenId) embeddedScreenIds.add(config.leftScreenId);
|
||||
|
||||
Reference in New Issue
Block a user