CR Update: add default props to service and check service in provider
This commit is contained in:
parent
db0f751a68
commit
bdb9af5c4b
@ -32,7 +32,9 @@ const ModalProvider = ({ children, modal: Modal, service }) => {
|
|||||||
* @returns void
|
* @returns void
|
||||||
*/
|
*/
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
service.setServiceImplementation({ hide, show });
|
if (service) {
|
||||||
|
service.setServiceImplementation({ hide, show });
|
||||||
|
}
|
||||||
}, [hide, service, show]);
|
}, [hide, service, show]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -78,6 +80,10 @@ const ModalProvider = ({ children, modal: Modal, service }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ModalProvider.defaultProps = {
|
||||||
|
service: null,
|
||||||
|
};
|
||||||
|
|
||||||
ModalProvider.propTypes = {
|
ModalProvider.propTypes = {
|
||||||
children: PropTypes.oneOfType([
|
children: PropTypes.oneOfType([
|
||||||
PropTypes.arrayOf(PropTypes.node),
|
PropTypes.arrayOf(PropTypes.node),
|
||||||
@ -91,7 +97,7 @@ ModalProvider.propTypes = {
|
|||||||
]).isRequired,
|
]).isRequired,
|
||||||
service: PropTypes.shape({
|
service: PropTypes.shape({
|
||||||
setServiceImplementation: PropTypes.func,
|
setServiceImplementation: PropTypes.func,
|
||||||
}).isRequired,
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -5,6 +5,8 @@ import React, {
|
|||||||
useCallback,
|
useCallback,
|
||||||
useEffect,
|
useEffect,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
import SnackbarContainer from '../components/snackbar/SnackbarContainer';
|
import SnackbarContainer from '../components/snackbar/SnackbarContainer';
|
||||||
import SnackbarTypes from '../components/snackbar/SnackbarTypes';
|
import SnackbarTypes from '../components/snackbar/SnackbarTypes';
|
||||||
|
|
||||||
@ -31,7 +33,9 @@ const SnackbarProvider = ({ children, service }) => {
|
|||||||
* @returns void
|
* @returns void
|
||||||
*/
|
*/
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
service.setServiceImplementation({ hide, show });
|
if (service) {
|
||||||
|
service.setServiceImplementation({ hide, show });
|
||||||
|
}
|
||||||
}, [service, hide, show]);
|
}, [service, hide, show]);
|
||||||
|
|
||||||
const show = useCallback(options => {
|
const show = useCallback(options => {
|
||||||
@ -100,6 +104,21 @@ const SnackbarProvider = ({ children, service }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
SnackbarProvider.defaultProps = {
|
||||||
|
service: null,
|
||||||
|
};
|
||||||
|
|
||||||
|
SnackbarProvider.propTypes = {
|
||||||
|
children: PropTypes.oneOfType([
|
||||||
|
PropTypes.arrayOf(PropTypes.node),
|
||||||
|
PropTypes.node,
|
||||||
|
PropTypes.func,
|
||||||
|
]).isRequired,
|
||||||
|
service: PropTypes.shape({
|
||||||
|
setServiceImplementation: PropTypes.func,
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* High Order Component to use the snackbar methods through a Class Component
|
* High Order Component to use the snackbar methods through a Class Component
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user