릴리즈 3.2.2507 이상
파일 임포트를 위한 사용자 함수를 설정합니다. 이 함수가 설정되어 있으면 내부 파일 임포트 로직을 이용하지 않고 지정된 사용자 함수를 호출합니다.
Parameters:
Name | Type | Description |
|---|---|---|
| func | Function | 파일 임포트에 사용될 사용자 함수 |
사용자 함수의 정의
사용자 임포트함수는 아래와 같이 정의되어야 합니다.
Parameters:
Name | Type | Description |
|---|---|---|
| docFile | File | 에디터를 통해 임포트할 파일 |
| bOverwrite | boolean | 덮어 씌울지 여부 |
Return:
| Key | Type | Description |
|---|---|---|
| serializedData | number[] | 문서 변환 후 문서 모델을 직렬화 한 데이터 |
| importPath | string | 브라우저에서 접근 가능한 변환된 파일 경로 |
| importImageMap | Object | 변환된 이미지 리소스와 접근 가능한 이미지로 구성된 맵 |
중요) 사용자정의 임포트 함수에서는 파일 임포트 후 반드시 직렬화된 문서 모델 데이터, 임포트된 파일에 접근 할 수 있는 URL(또는 Path), 변환된 이미지 리소스와 접근 가능한 이미지로 구성된 맵을 반환해야 합니다.
Example:
// 일반 함수 예제
editor.setCustomImportFunction((docFile, bOverwrite) => {
// 파일 임포트 처리
return {serializedData, importPath, importImageMap};
});
릴리즈 2.15.2301 이상
// 비동기 함수 예제 (async)
editor.setCustomImportFunction(async (docFile, bOverwrite) => {
const {serializedData, importPath, importImageMap} = await new Promise(resolve => setTimeout(resolve, 1000)); // 파일 임포트 처리
return {serializedData, importPath, importImageMap};
});
// 비동기 함수 예제 (promise)
editor.setCustomImportFunction((docFile, bOverwrite) => {
return new Promise((resolve, reject) => { // 파일 임포트 처리
setTimeout(() => {
resolve({serializedData, importPath, importImageMap});
}, 1000);
});
});