Skip to content
Snippets Groups Projects
Commit d59d38cb authored by chris's avatar chris
Browse files

add file

parent c5ea892b
No related branches found
No related tags found
1 merge request!105transform comment before merging them into document
import React, { useContext, useState } from "react";
export const WaxContext = React.createContext({
view: {},
activeView: {},
activeViewId: null,
app: null,
updateView: null,
updateActiveView: null
});
export default props => {
const [context, setContext] = useState({
app: props.app,
view: props.view || {},
activeView: props.activeView || {},
activeViewId: props.activeViewId || {},
updateView: (newView, activeViewId) => {
const view = Object.assign(context.view, newView);
const activeView = view[activeViewId || context.activeViewId];
setContext({
...context,
view,
activeView: activeView,
activeViewId: activeViewId || context.activeViewId
});
}
});
return (
<WaxContext.Provider
value={{
...context
}}
>
{props.children}
</WaxContext.Provider>
);
};
export const useInjection = identifier => {
const { app: { container } } = useContext(WaxContext);
if (!container) {
throw new Error();
}
return container.isBound(identifier)
? { instance: container.get(identifier) }
: null;
};
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment