Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -44,6 +44,7 @@ export function IntegratedDetailTemplate<T extends Record<string, unknown>>({
|
||||
onDelete,
|
||||
onCancel,
|
||||
onModeChange,
|
||||
onEdit: onEditProp,
|
||||
renderView,
|
||||
renderForm,
|
||||
renderField,
|
||||
@@ -255,9 +256,15 @@ export function IntegratedDetailTemplate<T extends Record<string, unknown>>({
|
||||
|
||||
// ===== 수정 모드 전환 =====
|
||||
const handleEdit = useCallback(() => {
|
||||
// 커스텀 onEdit이 제공되면 해당 핸들러 사용 (예: 페이지 이동)
|
||||
if (onEditProp) {
|
||||
onEditProp();
|
||||
return;
|
||||
}
|
||||
// 기본 동작: 내부 모드 변경
|
||||
setMode('edit');
|
||||
onModeChange?.('edit');
|
||||
}, [onModeChange]);
|
||||
}, [onEditProp, onModeChange]);
|
||||
|
||||
// ===== 액션 설정 =====
|
||||
const actions = config.actions || {};
|
||||
|
||||
@@ -190,6 +190,8 @@ export interface IntegratedDetailTemplateProps<T = Record<string, unknown>> {
|
||||
onCancel?: () => void;
|
||||
/** 모드 변경 핸들러 (view → edit) */
|
||||
onModeChange?: (mode: DetailMode) => void;
|
||||
/** 수정 버튼 클릭 핸들러 (기본: 내부 모드 변경, 제공 시 커스텀 동작) */
|
||||
onEdit?: () => void;
|
||||
/** 커스텀 상세 화면 렌더러 */
|
||||
renderView?: (data: T) => ReactNode;
|
||||
/** 커스텀 폼 렌더러 */
|
||||
|
||||
Reference in New Issue
Block a user