jsketcher/web/app/cad/dom/components/ContributedComponents.jsx
2022-06-25 15:19:48 -07:00

15 lines
No EOL
468 B
JavaScript

import React from 'react';
import {useStream} from 'ui/effects';
import {state} from 'lstream';
import {Scope} from "sketcher/components/Scope";
const CONTRIBUTED_COMPONENTS$ = state([]);
export function ContributedComponents() {
const contrib = useStream(CONTRIBUTED_COMPONENTS$);
return contrib.map((Comp, i) => <Scope key={i}><Comp /></Scope> );
}
export function contributeComponent(comp) {
CONTRIBUTED_COMPONENTS$.update(contrib => [...contrib, comp]);
}