2021-02-11 15:38:08 +01:00
|
|
|
import React, { createContext, useContext } from 'react';
|
|
|
|
import PropTypes from 'prop-types';
|
|
|
|
|
|
|
|
const PermissionsDataManagerContext = createContext({});
|
|
|
|
|
|
|
|
const PermissionsDataManagerProvider = ({ children, value }) => {
|
|
|
|
return (
|
|
|
|
<PermissionsDataManagerContext.Provider value={value}>
|
|
|
|
{children}
|
|
|
|
</PermissionsDataManagerContext.Provider>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
const usePermissionsDataManager = () => useContext(PermissionsDataManagerContext);
|
|
|
|
|
|
|
|
PermissionsDataManagerProvider.propTypes = {
|
|
|
|
children: PropTypes.node.isRequired,
|
|
|
|
value: PropTypes.exact({
|
|
|
|
modifiedData: PropTypes.object.isRequired,
|
2021-02-12 11:59:01 +01:00
|
|
|
onChangeCollectionTypeLeftActionRowCheckbox: PropTypes.func.isRequired,
|
2021-02-11 15:38:08 +01:00
|
|
|
onChangeSimpleCheckbox: PropTypes.func.isRequired,
|
2021-02-12 10:38:10 +01:00
|
|
|
onChangeParentCheckbox: PropTypes.func.isRequired,
|
2021-02-11 15:38:08 +01:00
|
|
|
}).isRequired,
|
|
|
|
};
|
|
|
|
|
|
|
|
export { PermissionsDataManagerContext, PermissionsDataManagerProvider, usePermissionsDataManager };
|