defaultRenderEmpty.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. "use client";
  2. import React, { useContext } from 'react';
  3. import { ConfigContext } from '.';
  4. import Empty from '../empty';
  5. const DefaultRenderEmpty = props => {
  6. const {
  7. componentName
  8. } = props;
  9. const {
  10. getPrefixCls
  11. } = useContext(ConfigContext);
  12. const prefix = getPrefixCls('empty');
  13. switch (componentName) {
  14. case 'Table':
  15. case 'List':
  16. return /*#__PURE__*/React.createElement(Empty, {
  17. image: Empty.PRESENTED_IMAGE_SIMPLE
  18. });
  19. case 'Select':
  20. case 'TreeSelect':
  21. case 'Cascader':
  22. case 'Transfer':
  23. case 'Mentions':
  24. return /*#__PURE__*/React.createElement(Empty, {
  25. image: Empty.PRESENTED_IMAGE_SIMPLE,
  26. className: `${prefix}-small`
  27. });
  28. /**
  29. * This type of component should satisfy the nullish coalescing operator(??) on the left-hand side.
  30. * to let the component itself implement the logic.
  31. * For example `Table.filter`.
  32. */
  33. case 'Table.filter':
  34. // why `null`? legacy react16 node type `undefined` is not allowed.
  35. return null;
  36. default:
  37. // Should never hit if we take all the component into consider.
  38. return /*#__PURE__*/React.createElement(Empty, null);
  39. }
  40. };
  41. export default DefaultRenderEmpty;