import { SchemaComponentOptions } from '@nocobase/client';
import React, { useState } from 'react';
import { createPortal } from 'react-dom';
import { ImportActionInitializer, ImportDesigner, ImportInitializerProvider } from '.';
import { ImportContext } from './context';
import { ImportModal, ImportStatus } from './ImportModal';
import { useDownloadXlsxTemplateAction, useImportStartAction } from './useImportAction';
import { useShared } from './useShared';
export const ImportPluginProvider = (props: any) => {
const { uploadValidator, beforeUploadHandler, validateUpload } = useShared();
return (
{props.children}
);
};
export const ImportContextProvider = (props: any) => {
const [importModalVisible, setImportModalVisible] = useState(false);
const [importStatus, setImportStatus] = useState(ImportStatus.IMPORTING);
const [importResult, setImportResult] = useState<{
data: { type: string; data: any[] };
meta: { successCount: number; failureCount: number };
}>(null);
return (
{createPortal(, document.body)}
{props.children}
);
};