You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
998 B
33 lines
998 B
import React, { useContext } from 'react';
|
|
import { ConfigContext } from '.';
|
|
import type { ConfigConsumerProps } from '.';
|
|
import Empty from '../empty';
|
|
|
|
interface EmptyProps {
|
|
componentName?: string;
|
|
}
|
|
|
|
const DefaultRenderEmpty: React.FC<EmptyProps> = (props) => {
|
|
const { componentName } = props;
|
|
const { getPrefixCls } = useContext<ConfigConsumerProps>(ConfigContext);
|
|
const prefix = getPrefixCls('empty');
|
|
switch (componentName) {
|
|
case 'Table':
|
|
case 'List':
|
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;
|
|
case 'Select':
|
|
case 'TreeSelect':
|
|
case 'Cascader':
|
|
case 'Transfer':
|
|
case 'Mentions':
|
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} className={`${prefix}-small`} />;
|
|
/* istanbul ignore next */
|
|
default:
|
|
// Should never hit if we take all the component into consider.
|
|
return <Empty />;
|
|
}
|
|
};
|
|
|
|
export type RenderEmptyHandler = (componentName?: string) => React.ReactNode;
|
|
|
|
export default DefaultRenderEmpty;
|
|
|