@infinite-canvas-tutorial/webcomponents
Version:
WebComponents UI implementation
34 lines • 1.14 kB
JavaScript
import { createContext } from '@lit/context';
import { DefaultStateManagement, } from '@infinite-canvas-tutorial/ecs';
export const appStateContext = createContext(Symbol('appAtate'));
export const nodesContext = createContext(Symbol('nodes'));
export const apiContext = createContext(Symbol('api'));
/**
* Delegate the methods to the LitElement's context which will trigger re-rendering.
*/
export class LitStateManagement extends DefaultStateManagement {
constructor(appStateProvider, nodesProvider) {
super();
this.appStateProvider = appStateProvider;
this.nodesProvider = nodesProvider;
}
getAppState() {
return this.appStateProvider.value;
}
setAppState(appState) {
super.setAppState(appState);
this.appStateProvider.value = appState;
}
getNodes() {
return this.nodesProvider.value || [];
}
setNodes(nodes) {
super.setNodes(nodes);
this.nodesProvider.value = nodes;
}
onChange(snapshot) {
super.onChange(snapshot);
// console.log('onChange', snapshot);
}
}
//# sourceMappingURL=context.js.map