Newer
Older
/* eslint react/prop-types: 0 */
/* eslint react/destructuring-assignment: 0 */
import React, { useContext, useState } from 'react';
// eslint-disable-next-line import/no-named-as-default
import ApplicationContext from './ApplicationContext';
});
export default props => {
const [context, setContext] = useState({
activeView: props.activeView || {},
activeViewId: props.activeViewId || {},
<WaxContext.Provider
value={{
...context,
updateView: (newView, activeViewId) => {
setContext(prevContext => {
const updatedPmViews = { ...prevContext.pmViews, ...newView };
const newActiveViewId = activeViewId || prevContext.activeViewId;
return {
...prevContext,
pmViews: updatedPmViews,
activeView: updatedPmViews[newActiveViewId],
activeViewId: newActiveViewId,
};
});
},
setTransaction: tr => {
Object.assign(context.transaction, tr);
},
setOption: option => {
Object.assign(context.options, option);
},
removeView: deletedView => {
delete context.pmViews[deletedView];
},
}}
>
{props.children}
</WaxContext.Provider>
const context = useContext(ApplicationContext);
if (!context.app.container) {
return context.app.container.isBound(identifier)
? { instance: context.app.container.get(identifier) }