[agent-pipeline] pipe-20260317054958-cypk round-6
This commit is contained in:
parent
d8a542b253
commit
80cd95e683
|
|
@ -36,14 +36,14 @@ export async function loadColumnMeta(tableName: string, forceReload = false): Pr
|
|||
const isStale =
|
||||
typeof cachedAt === "number" && now - cachedAt > CACHE_TTL_MS;
|
||||
|
||||
if (!forceReload && !isStale && columnMetaCache[tableName]) return;
|
||||
if (!forceReload && !isStale && tableName in columnMetaCache && columnMetaCache[tableName]) return;
|
||||
|
||||
if (forceReload || isStale) {
|
||||
delete columnMetaCache[tableName];
|
||||
delete columnMetaLoading[tableName];
|
||||
}
|
||||
|
||||
if (columnMetaLoading[tableName]) {
|
||||
if (tableName in columnMetaLoading) {
|
||||
await columnMetaLoading[tableName];
|
||||
return;
|
||||
}
|
||||
|
|
@ -665,7 +665,8 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
|||
}
|
||||
|
||||
// 1. 새 컴포넌트 시스템에서 먼저 조회
|
||||
const newComponent = ComponentRegistry.getComponent(componentType);
|
||||
const newComponent =
|
||||
componentType != null ? ComponentRegistry.getComponent(componentType) : null;
|
||||
|
||||
if (newComponent) {
|
||||
// 새 컴포넌트 시스템으로 렌더링
|
||||
|
|
@ -777,7 +778,7 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
|||
|
||||
// 렌더러 props 구성
|
||||
// 숨김 값 추출
|
||||
const hiddenValue = component.hidden || component.componentConfig?.hidden;
|
||||
const hiddenValue = (component as any).hidden || component.componentConfig?.hidden;
|
||||
|
||||
// 숨김 처리: 인터랙티브 모드(실제 뷰)에서만 숨김, 디자인 모드에서는 표시
|
||||
if (hiddenValue && isInteractive) {
|
||||
|
|
@ -898,7 +899,7 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
|||
// 새로운 기능들 전달
|
||||
// 🆕 webTypeConfig.numberingRuleId가 있으면 autoGeneration으로 변환
|
||||
autoGeneration:
|
||||
component.autoGeneration ||
|
||||
(component as any).autoGeneration ||
|
||||
component.componentConfig?.autoGeneration ||
|
||||
((component as any).webTypeConfig?.numberingRuleId
|
||||
? {
|
||||
|
|
@ -998,7 +999,8 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
|||
|
||||
let renderedElement: React.ReactElement;
|
||||
if (isClass) {
|
||||
const rendererInstance = new NewComponentRenderer(rendererProps);
|
||||
const RendererClass = NewComponentRenderer as new (props: any) => { render: () => React.ReactElement };
|
||||
const rendererInstance = new RendererClass(rendererProps);
|
||||
renderedElement = rendererInstance.render();
|
||||
} else {
|
||||
renderedElement = <NewComponentRenderer key={refreshKey} {...rendererProps} />;
|
||||
|
|
@ -1010,7 +1012,9 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
|||
const labelFontSize = component.style?.labelFontSize || "14px";
|
||||
const labelColor = getAdaptiveLabelColor(component.style?.labelColor);
|
||||
const labelFontWeight = component.style?.labelFontWeight || "500";
|
||||
const isRequired = effectiveComponent.required || isColumnRequiredByMeta(screenTableName, baseColumnName);
|
||||
const isRequired =
|
||||
effectiveComponent.required ||
|
||||
isColumnRequiredByMeta(screenTableName ?? "", baseColumnName ?? "");
|
||||
const isLeft = labelPosition === "left";
|
||||
|
||||
return (
|
||||
|
|
@ -1044,7 +1048,8 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
|||
}
|
||||
|
||||
// 2. 레거시 시스템에서 조회
|
||||
const renderer = legacyComponentRegistry.get(componentType);
|
||||
const renderer =
|
||||
componentType != null ? legacyComponentRegistry.get(componentType) : undefined;
|
||||
|
||||
if (!renderer) {
|
||||
console.error(`⚠️ 등록되지 않은 컴포넌트 타입: ${componentType}`, {
|
||||
|
|
|
|||
Loading…
Reference in New Issue