Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3694 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3719 stevensc 1
import React, { lazy, Suspense } from 'react';
2
import { createPortal } from 'react-dom';
3
import Spinner from '../Spinner';
4
const GlobalModal = lazy(() => import('./GlobalModal'));
5
 
6
const Modal = ({
7
  show = true,
8
  title = '',
9
  onAccept,
10
  onClose,
11
  onReject = null,
12
  labelAccept = 'Aceptar',
13
  labelReject = 'Cancelar',
14
  showFooter = true,
15
  dialogClassName,
16
  children,
17
  formId,
18
  loading,
19
  size = 'md'
20
}) => {
21
  if (!show) return null;
22
 
23
  const modalContainer = document.getElementById('modal');
24
 
25
  if (!modalContainer) return null;
26
 
27
  return createPortal(
28
    <Suspense fallback={<Spinner />}>
29
      <GlobalModal
30
        title={title}
31
        onAccept={onAccept}
32
        onClose={onClose}
33
        onReject={onReject}
34
        labelAccept={labelAccept}
35
        labelReject={labelReject}
36
        showFooter={showFooter}
37
        dialogClassName={dialogClassName}
38
        formId={formId}
39
        loading={loading}
40
        size={size}
41
      >
42
        {children}
43
      </GlobalModal>
44
    </Suspense>,
45
    modalContainer
46
  );
47
};
48
 
49
export default Modal;