- 파일 정보 조회를 위한 getFileInfo 함수를 추가하여, 파일의 메타데이터를 공개 접근으로 조회할 수 있도록 하였습니다. - 파일 업로드 컴포넌트에서 파일 아이콘 매핑 및 파일 미리보기 기능을 개선하여 사용자 경험을 향상시켰습니다. - V2 파일 업로드 컴포넌트의 설정 패널을 추가하여, 파일 업로드 관련 설정을 보다 쉽게 관리할 수 있도록 하였습니다. - 파일 뷰어 모달을 추가하여 다양한 파일 형식의 미리보기를 지원합니다.
57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { AutoRegisteringComponentRenderer } from "../../AutoRegisteringComponentRenderer";
|
|
import { V2FileUploadDefinition } from "./index";
|
|
import { FileUploadComponent } from "./FileUploadComponent";
|
|
|
|
/**
|
|
* V2 FileUpload 렌더러
|
|
* 자동 등록 시스템을 사용하여 컴포넌트를 레지스트리에 등록
|
|
*/
|
|
export class V2FileUploadRenderer extends AutoRegisteringComponentRenderer {
|
|
static componentDefinition = V2FileUploadDefinition;
|
|
|
|
render(): React.ReactElement {
|
|
return <FileUploadComponent {...this.props} renderer={this} />;
|
|
}
|
|
|
|
/**
|
|
* 컴포넌트별 특화 메서드들
|
|
*/
|
|
|
|
// file 타입 특화 속성 처리
|
|
protected getFileUploadProps() {
|
|
const baseProps = this.getWebTypeProps();
|
|
|
|
// file 타입에 특화된 추가 속성들
|
|
return {
|
|
...baseProps,
|
|
// 여기에 file 타입 특화 속성들 추가
|
|
};
|
|
}
|
|
|
|
// 값 변경 처리
|
|
protected handleValueChange = (value: any) => {
|
|
this.updateComponent({ value });
|
|
};
|
|
|
|
// 포커스 처리
|
|
protected handleFocus = () => {
|
|
// 포커스 로직
|
|
};
|
|
|
|
// 블러 처리
|
|
protected handleBlur = () => {
|
|
// 블러 로직
|
|
};
|
|
}
|
|
|
|
// 자동 등록 실행
|
|
V2FileUploadRenderer.registerSelf();
|
|
|
|
// Hot Reload 지원 (개발 모드)
|
|
if (process.env.NODE_ENV === "development") {
|
|
V2FileUploadRenderer.enableHotReload();
|
|
}
|